Matze: Das leidige Thema der E-Mail-Prüfung

Beitrag lesen

Hallo Ingo!

Meine RegExp:
die solltest Du besser nochmal hinterfragen...

Ja, bin da leider auch nicht so fit.

Warum willst Du Whitespace zulassen?

Ich dachte mir "wer weiß was nach Punycode noch alles kommt" ;)

Danach wird ein @ gewünscht.
es könnten auch aus Versehen mehrere eingegeben sein...

Ja, das ist mir auch aufgefallen.

Ich prüfe E-Mails so.
'^([^\s@,:"<>]+)@([^\s@,:"<>]+\.[^\s@,:"<>.\d]{2,}|(\d{1,3}\.){3}\d{1,3})$'
ist ebenfalls nur rudimentär und nur darauf ausgerichtet:

  • mögliche Vertipper oder fehlende Eingaben zu erkennen und
  • Manipulationen bei Nutzung der mail()-Funktion zu verhindern.
    Ich habe bewußt gequoteten Freitext nicht zugelassen, da ja i.d.R. nur die reine Mailadresse abgefragt wird. Und die Prüfung auf IPs habe ich auch stark vereinfacht, weil mir die Erkennung grober Eingabefehler schon ausreicht.
    Worauf ich nicht sofort kam, war die Möglichkeit der Negierung(...)

Nunja, ich komme zumindest noch nicht so gut damit klar.
Ich hab zwar daran gedacht, mir aber dann überlegt, dass ich z.B. doppelte '@' auch mit substr_count() filtern kann.

Danke für deine Hinweise!

Grüße, Matze