Hallo,
ich quäle mich schon seit einigen Stunden mit Regulären Ausdrücken herum. Nun soll ich eine mail Adresse auf Korrektheit prüfen. Der Host-Teil ist kein Problem, aber beim Namens-Teil komme ich einfach nicht weiter. Laut Anforderung soll im Namensteil an erster Stelle ein ein Buchstabe stehen. Darauf dürfen nun Zahlen, Buchstaben, '-', '_' und '.' folgen, wobei ein Punkt nur einzeln auftreten darf. Also nicht mehrere Punkte hinter einander. D. h. also, dass nach jedem Punkt eine Zahl, ein Buchstabe, ein '-' oder ein '_' kommen muss.
Der obige Ausdruck erfüllt fast alle Anforderungen:
test123@... --> wird als gültig erkannt
test.test@... --> wird als gültig erkannt
test-test@... --> wird als gültig erkannt
test..123@... --> wird als ungültig erkannt
test..test@... --> wird NICHT als ungültig erkannt??? Warum wird diese Mailadresse als gültig erkannt (obwohl nicht gültig) und die Adresse darüber als ungültig (ist auch ungültig)?
Danke und Frohe Ostern!
goflo
ich quäle mich schon seit einigen Stunden mit Regulären Ausdrücken herum. Nun soll ich eine mail Adresse auf Korrektheit prüfen. Der Host-Teil ist kein Problem, aber beim Namens-Teil komme ich einfach nicht weiter. Laut Anforderung soll im Namensteil an erster Stelle ein ein Buchstabe stehen. Darauf dürfen nun Zahlen, Buchstaben, '-', '_' und '.' folgen, wobei ein Punkt nur einzeln auftreten darf. Also nicht mehrere Punkte hinter einander. D. h. also, dass nach jedem Punkt eine Zahl, ein Buchstabe, ein '-' oder ein '_' kommen muss.
Code:
Namens-Teil @ Host-Teil
Regular Expression für den Namens-Teil:
[a-z]{1}((\.)?([a-z0-9_\-]){1})*
Der obige Ausdruck erfüllt fast alle Anforderungen:
test123@... --> wird als gültig erkannt
test.test@... --> wird als gültig erkannt
test-test@... --> wird als gültig erkannt
test..123@... --> wird als ungültig erkannt
test..test@... --> wird NICHT als ungültig erkannt??? Warum wird diese Mailadresse als gültig erkannt (obwohl nicht gültig) und die Adresse darüber als ungültig (ist auch ungültig)?
Danke und Frohe Ostern!
goflo