Cheatah: RegEx für email Adresse (Name mit Bindestrich und Punkt)

Beitrag lesen

Hi,

$email_flag=preg_match("!^\w[\w|.|-]+@\w[\w|.|-]+.[a-zA-Z]{2,4}$!",$email);
a|||@example.com wird durchgelassen.
warum auch nicht?

warum fragst Du?

Aufgrund der doppelten Nennung des Zeichens, das an einer anderen Stelle der RegExp auch noch die Bedeutung "oder" hätte, gehe ich davon aus, dass der OP dieses Ergebnis nicht erwartet hätte.

auch |||.---.|||@example.com ist formal zulässig. Man kann also Morse-Code als E-Mail-Adressen-Localpart haben (mit | für Kurz, - für Lang, und . für Zeichentrenner)

Mit speziell diesem Localpart der E-Mail-Adresse solltest Du sparsam umgehen. Es gibt genügend Leute, die nicht wissen, dass das als "SOS" bezeichnete Notsignal aus nur einem einzigen Zeichen besteht, und somit trotz der Zeichentrenner diese Adresse als Notrufempfänger oder -absender fehlinterpretieren könnten ;-)

Cheatah

--
X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
X-Will-Answer-Email: No
X-Please-Search-Archive-First: Absolutely Yes