Untitled
unknown
plain_text
4 years ago
8.8 kB
5
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...