[C++/Qt]Walidacja adresu email

0

Mam napisać klasę do której uzytkownik będzie mi podawał poprawne dane, ja mam za poprawnosc ich odpowiadac. Przyszly mi do glowy walidatory, ze wszystkim sobie poradzilem, zostal tylko nieszczesny email. Ponizszy kod dla adresów podanyhc nizej zwraca false. Jak to poprawic? Przeciez sa to dobre mejle. :( Juz nie mam sily :(

[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
#include <QtGui/QApplication>
#include <QRegExp>
#include <QString>
#include <QDebug>

bool sprawdz(QString email){

    QRegExp wyrazenie("/^([a-z0-9+_-]+)(.[a-z0-9+_-]+)*@([a-z0-9-]+.)+[a-z]{2,6}$/ix");
    bool wPorzadku = wyrazenie.exactMatch(email);
    return wPorzadku;

}

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QString email = "[email protected]";
    bool wPorzadku = sprawdz(email);
    qDebug() << wPorzadku;

    return a.exec();
}
0

Ok, juz mam ;) Niepotrzebnie robilem klopot ;) Jako, ze jest to projekt do szkoly, prosze, niech ktos usunie ten temat, zeby moi "koledzy" nie pomałpowali mojego pomysłu:P

0

Aaa, pomyłka :D Znów mam źle ... Program "działa", jesli dam

bool wPorzadku = !wyrazenie.exactMatch(email);

jednak wtedy, jak podam np. jan_nowak88 tez zwraca mi true, a przeciez to nie jest poprawny e-mail. Czy moge w takim razie liczyc na kogos bardziej rozgarnietego w tym temacie niz ja ?

0

A jednak nie dziala ... Dałem

bool wPorzadku = !wyrazenie.exactMatch(email);

jednak wtedy, jesli wpisze samo "maciek" tez zwraca mi true ...

0

BARDZO PROSZE O USUNIECIE TEMATU :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1