Ansicht:   

#365382 Fehler in Regular Expression zur E-Mail-Adress-Validierung (web.coding)

verfaßt von thorr zur Homepage von thorr, Münster (Nordrhein-Westfalen), 13.05.2014, 02:39:44
(editiert von thorr, 13.05.2014, 02:40:29)

Hallo Forengemeinde,

ich habe einen regulären Ausdruck gebastelt, um eine in ein Kontaktformular im Internet eingegebene E-Mail-Adresse auf Validität zu überprüfen. Das Pattern sieht folgendermaßen aus:

^[a-zA-Z0-9._-]+@[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?(.[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?)*.[a-zA-Z0-9]{2-6}$



Gedanken dahinter:

(Buchstabe, Zahle, Punkt, Unterstrich, Bindestrich)+@(Buchstabe, Zahl)((Buchstabe, Zahl, Bindestrich)*(Buchstabe, Zahl))?(.(Buchstabe, Zahl)((Buchstabe, Zahl, Bindestrich)*(Buchstabe, Zahl))?)+(Buchstabe){2-4}



Der lokale Teil der Adresse muss aus mindenstens einem alphanumerischen, einem Punkt oder Bindestrich bestehen (wie mir gerade auffällt, gibt's da natürlich einige Unzulänglichkeiten - so wäre eine Adresse á la ".@mail.com" auch möglich). Nach dem @-Zeichen muss dann das erste Zeichen Buchstabe oder Zahl sein, mögliche weitere Zeichen dürfen auch Bindestriche sein, der letzte Buchstabe muss aber in jedem Fall wieder Buchstabe oder Zahl sein. Subdomains kann, muss es aber nicht geben. Die Toplevel-Domain kann aus zwei bis fünf Zeichen bestehen (gibt's da mit den ganzen Städte-TLDs überhaupt noch eine Grenze nach oben?).

Schön und gut so weit - ein sichtbares Ergebnis ist jedoch nicht vorhanden. Das Pattern schlägt auf eine stinknormale E-Mail-Adrese wie test@mail.com nicht an. Weiß jemand, wo hier mein Denkfehler ist?

Gruß

 

gesamter Thread:

Ansicht:   
Auf unserer Web-Seite werden Cookies eingesetzt, um diverse Funktionalitäten zu gewährleisten. Hier erfährst du alles zum Datenschutz