Stefan Janssen: Bitte Vorsicht mit irgendwelchen regulären Ausdrücken!

Beitrag lesen

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