Beispiele
adresse@subdomain.domain.de
- ist gültig, wird aber wegen der zwei Punkte im Domainteil nicht erkannt.
adresse@212.234.33.333- ist gültig, wird aber ebenfalls nicht erkannt.
adresse@t-online.de- ist ebenfalls gültig, wird aber wegen dem Bindestrich nicht erkannt.
vorname.nachname@provider.de- scheitert an dem Punkt im Usernamen.
Hab's schon bemerkt.
Mit anderen Worten: Du richtest mit deinem regulären Ausdruck mehr Schaden an, als dir bis hierher bewußt ist - weil EMail-Adressen eben NICHT so simpel sind, wie du es gerade denkst.
Als simpel habe ich Email-Adressen ja auch nicht bezeichnet nur wenn ich die Erklärung von /\w/ lese, die da heißt:
"passt auf eine Zeichenkette, die (mindestens) eins der Zeichen vom Typ Buchstabe, vom Typ Ziffer oder einen Unterstrich enthält - (fast) genau wie (9.); ob Umlaute erkannt werden können, hängt von der Systemkonfiguration ab."
dann gehe ich davon aus (egal ob das 'mindestens' hier zutrifft oder nicht), dass /\w/ den String "-a-ß@~§.ä/?$+* " auch als korrekt erkennt, da ja ein Zeichen (das 'a') die Bedingung erfüllt.(Auch wenn mir das bei meinem Email-Problem nicht weiterhilft)
Ich wollte halt ein Suchmuster haben, das überprüft ob vor dem '@', zwischen '@' und '.' sowie hinter dem '.' mindestens ein Buchstabe oder eine Zahl steht (NICHT mindestens irgend ein Zeichen).
Zum Glück gibts gegen alle Wehwehchen ein Self-Mittel:
EMail-Adresse mit Javascript prüfen: http://aktuell.de.selfhtml.org/artikel/javascript/email-check/index.htm
Leider deaktivieren immer mehr User die Ausführung von JavaScript im Browser.
Diverse reguläre Ausdrücke für alle Lebenslagen ;) : http://regxlib.com/ (Mails stehen ganz obenan)
Hab's mir angesehen und als 'noch verwirrender' zu den Akten gelegt.
Trotzdem Danke für die Antwort.
Gruß
SJ