Untitled
unknown
plain_text
4 years ago
8.8 kB
8
Indexable
#include <regex>
#include <iostream>
using namespace std;
bool ValidirajEmail1(string napomena)
{
return regex_match(napomena, regex("[\\d]{1}[\\_][\\w]{3,}[\\.\\_]?[\\w]{3,}[@](karate|edu.karate)\\.(ba|com|org)"));
}
bool ValidirajBrojTelefona(string napomena)
{
// /*
//broj telefona mora biti u formatu
//- znak +
//- pozivni broj drzave (2 ili 3 cifre)
//- pozivni broj operatera (2 cifre) npr. 063, 061, 065 pri cemu je broj 0 opcionalan
//- prvi dio broja (2 ili 3 cifre)
//- razmak ili crtica, oboje opcionalno tj. broj telefona ne mora sadrzavati niti jedno niti drugo
// - drugi dio broja (2 ili 3 cifre)
//ukoliko broj telefona nije u validnom formatu, njegova vrijednost se postavlja na NOT VALID
//*/
return regex_match(napomena, regex("[+][\\d]{2,3}0?[\\d]{2}[\\d]{2,3}[\\s_]?[\\d]{2,3}"));
}
bool ValidirajLozinku(string lozinka)
{
// /*
// za autentifikaciju svaki korisnik mora posjedovati lozinku koja sadrzi:
// - najmanje 7 znakova
// - velika i mala slova
// - najmanje jedan broj
//- najmanje jedan specijalni znak
// za provjeru validnosti lozinke koristiti globalnu funkciju
//ValidirajLozinku, a unutar nje regex metode.
// validacija lozinke se vrsi unutar konstruktora klase Korisnik, a u
//slucaju da nije validna
// postaviti je na podrazumijevanu vrijednost: <VRIJEDNOST_NIJE_VALIDNA>
// */
return regex_search(lozinka, regex("(?=.{7,})(?=.*[a-z]{1,})(?=.*[A-Z]{1,})(?=.*[\\d]{1,})(?=.*[\\W]{1,})"));
//return regex_search(text, regex("(?=.{7,})(?=.*[A-Z]{1,})(?=.*[a-z]{1,})(?=.*\\d{1,})(?=.*\\W{1,})"));
}
bool ValidirajLozinku2(string lozinka)
{
// /*
//za autentifikaciju svaki korisnik mora posjedovati lozinku koja sadrzi 6 ili 7 znakova postujuci sljedeca pravila:
//- pocinje sa znak * (zvjezdica) ili _ (donja crtica), nakon cega slijedi
//- broj, nakon cega slijedi
//- malo slovo, nakon cega slijedi
//- razmak koji NIJE OBAVEZAN, nakon cega slijedi
//- veliko slovo, nakon cega slijedi
//- broj, nakon cega slijedi
//- malo slovo.
//za provjeru validnosti lozinke koristiti globalnu funkciju ValidirajLozinku, a unutar nje regex metode.
//validacija lozinke se vrsi unutar konstruktora klase Korisnik, a u slucaju da nije validna
//postaviti je na podrazumijevanu vrijednost: <VRIJEDNOST_NIJE_VALIDNA>
//*/
return regex_match(lozinka, regex("[*][\\d]{1}[a-z]{1}[\\s]?[A-Z]{1}[\\d]{1}[a-z]{1}"));
}
bool ValidirajEmail2(string email)
{
// /*
// email adresa mora biti u formatu text.text (sa ili bez tacke),
// dok domena moze biti fit.ba ili edu.fit.ba
// nakon institucije (fit ili edu.fit), osim drzavne (.ba), dozvoljene su domene .com i .org.
// za provjeru validnosti email adrese koristiti globalnu funkciju ValidirajEmail, a unutar nje regex metode.
// validacija email adrese ce se vrsiti unutar konstruktora klase Kandidat, a u slucaju da nije validna
// postaviti je na defaultnu adresu: notSet@edu.fit.ba
// */
return regex_match(email, regex("\\w{3,}\.?\\w{3,}@(edu.fit|fit)\.(ba|com|org)"));
}
const char* crt = "\n-------------\n";
void main()
{
/*
email adresa treba biti u sljedecem formatu 3_ime.prezime@karate.ba tj. zadovoljavati sljedeca pravila:
- poceti sa jednim brojem nakon cega slijedi donja crtica
- u imenu posjedovati najmanje 3 karaktera
- izmedju imena i prezimena moze biti tacka ili donja crtica ili nista od navedenog
- u prezimenu posjedovati najmanje 3 karaktera
- znak @
- domenu karate.ba ili edu.karate.ba. Pored drzavne(.ba), dozvoljene su oznake .com i .org.
za provjeru validnosti email adrese koristiti globalnu funkciju ValidirajEmail, a unutar nje regex metode.
validacija email adrese ce se vrsiti unutar konstruktora klase KaratePolaznik, a u slucaju da nije validna
postaviti je na defaultnu adresu: notSet@edu.karate.ba
*/
if (ValidirajEmail1("2_ime.prezime@edu.karate.ba"))
cout << "Email validan" << crt;
if (ValidirajEmail1("3_ime_prezime@karate.ba"))
cout << "Email validan" << crt;
if (ValidirajEmail1("4_imeprezime@karate.com"))
cout << "Email validan" << crt;
if (ValidirajEmail1("8_imeprezime@karate.org"))
cout << "Email validan" << crt;
if (!ValidirajEmail1("2ime.prezime@edu.karate.org"))
cout << "Email NIJE validan" << crt;
if (!ValidirajEmail1("5_ime prezime@edu.karate.org"))
cout << "Email NIJE validan" << crt;
// /*
//broj telefona mora biti u formatu
//- znak +
//- pozivni broj drzave (2 ili 3 cifre)
//- pozivni broj operatera (2 cifre) npr. 063, 061, 065 pri cemu je broj 0 opcionalan
//- prvi dio broja (2 ili 3 cifre)
//- razmak ili crtica, oboje opcionalno tj. broj telefona ne mora sadrzavati niti jedno niti drugo
// - drugi dio broja (2 ili 3 cifre)
//ukoliko broj telefona nije u validnom formatu, njegova vrijednost se postavlja na NOT VALID
//*/
if (ValidirajBrojTelefona("+38761222333"))
cout << "Broj telefona validan" << crt;
if (ValidirajBrojTelefona("+38761222-333"))
cout << "Broj telefona validan" << crt;
if (ValidirajBrojTelefona("+38761222 333"))
cout << "Broj telefona validan" << crt;
if (ValidirajBrojTelefona("+387061222 333"))
cout << "Broj telefona validan" << crt;
if (!ValidirajBrojTelefona("+38761 222 333"))
cout << "Broj NIJE telefona validan" << crt;
if (!ValidirajBrojTelefona("+387 61222 333"))
cout << "Broj NIJE telefona validan" << crt;
// /*
// za autentifikaciju svaki korisnik mora posjedovati lozinku koja sadrzi:
// - najmanje 7 znakova
// - velika i mala slova
// - najmanje jedan broj
//- najmanje jedan specijalni znak
// za provjeru validnosti lozinke koristiti globalnu funkciju
//ValidirajLozinku, a unutar nje regex metode.
// validacija lozinke se vrsi unutar konstruktora klase Korisnik, a u
//slucaju da nije validna
// postaviti je na podrazumijevanu vrijednost: <VRIJEDNOST_NIJE_VALIDNA>
// */
if (ValidirajLozinku("john4Do*e"))
cout << "OK" << crt;
if (!ValidirajLozinku("john4Doe"))
cout << "Specijalni znak?" << crt;
if (!ValidirajLozinku("jo*4Da"))
cout << "7 znakova?" << crt;
if (!ValidirajLozinku("4jo-hnoe"))
cout << "Veliko slovo?" << crt;
if (ValidirajLozinku("@john2Doe"))
cout << "OK" << crt;
// /*
//za autentifikaciju svaki korisnik mora posjedovati lozinku koja sadrzi 6 ili 7 znakova postujuci sljedeca pravila:
//- pocinje sa znak * (zvjezdica) ili _ (donja crtica), nakon cega slijedi
//- broj, nakon cega slijedi
//- malo slovo, nakon cega slijedi
//- razmak koji NIJE OBAVEZAN, nakon cega slijedi
//- veliko slovo, nakon cega slijedi
//- broj, nakon cega slijedi
//- malo slovo.
//za provjeru validnosti lozinke koristiti globalnu funkciju ValidirajLozinku, a unutar nje regex metode.
//validacija lozinke se vrsi unutar konstruktora klase Korisnik, a u slucaju da nije validna
//postaviti je na podrazumijevanu vrijednost: <VRIJEDNOST_NIJE_VALIDNA>
//*/
if (ValidirajLozinku2("*2gT2x"))
cout << "Lozinka validna" << endl;
if (ValidirajLozinku2("*7aT2x"))
cout << "Lozinka validna" << endl;
if (ValidirajLozinku2("_6gU9z"))
cout << "Lozinka validna" << endl;
if (ValidirajLozinku2("*3aB1y"))
cout << "Lozinka validna" << endl;
if (ValidirajLozinku2("*1a T2l"))
cout << "Lozinka validna" << endl;
if (!ValidirajLozinku2("-1a T2l"))
cout << "Lozinka NIJE validna" << endl;
// /*
// email adresa mora biti u formatu text.text (sa ili bez tacke),
// dok domena moze biti fit.ba ili edu.fit.ba
// nakon institucije (fit ili edu.fit), osim drzavne (.ba), dozvoljene su domene .com i .org.
// za provjeru validnosti email adrese koristiti globalnu funkciju ValidirajEmail, a unutar nje regex metode.
// validacija email adrese ce se vrsiti unutar konstruktora klase Kandidat, a u slucaju da nije validna
// postaviti je na defaultnu adresu: notSet@edu.fit.ba
// */
if (ValidirajEmail2("text.text@edu.fit.ba"))
cout << "Email validan" << crt;
if (ValidirajEmail2("texttext@edu.fit.ba"))
cout << "Email validan" << crt;
if (ValidirajEmail2("texttext@fit.ba"))
cout << "Email validan" << crt;
if (ValidirajEmail2("texttext@fit.com"))
cout << "Email validan" << crt;
if (ValidirajEmail2("texttext@edu.fit.org"))
cout << "Email validan" << crt;
}Editor is loading...