Moin!
Ich hab das (testweise) im localhost (offline) benutzt, und wenn ich mir zum ausprobieren eine mail geschickt hab, musste ich sie an localhost schicken. (ja, 127.0.0.1 wäre auch gegangen)
Das ist aber ein Sonderfall, der sowohl im Internet als auch im Intranet niemals vorkommen wird, sondern nur in einer lokalen Testumgebung.
Dieser Regex ist, wie schon erwähnt, böse fehlerhaft, sowohl vor als auch nach dem @-Zeichen, weil er gültige Mailadressen abweisen wird.
zum beispiel?
/[1]+(.[_a-zA-Z0-9-]+)*@[[a-zA-Z0-9-]+.([a-zA-Z0-9]{2,4})|localhost|([[0-9]{1,4}.]{3}[0-9]{1,4})$/"
1. Der localpart der Mailadresse wird unzulässig eingeschränkt auf Alphanumerische Zeuchen A-Z, 0-9, - und _. Wie ich schon ausführte, ist es grundsätzlich bei korrektem Escaping und Quoting erlaubt, jedes beliebige Zeichen zu verwenden. Kommt in der Realität vielleicht nicht oft vor, kann aber.
2. Der localpart darf auch ohne kompliziertes Escaping problemlos mehrere Punkte hintereinander haben. Der Punkt ist kein besonderes Zeichen im localpart.
3. Top-Level-Domains mit mehr als 4 Zeichen sind ausgeschlossen, obwohl es solche gibt.
4. Maildomains mit mehr als einem Punkt sind augenscheinlich ebenfalls nicht möglich. mail@subdomain.example.com ist aber möglich und wird insbesondere in Organisationen mit diversifizierter Abteilungsstruktur (beispielsweise Universitäten mit Fachbereichen) eingesetzt.
Außerdem enthält der Ausdruck mindestens zwei Klammerfehler (Klammern werden nicht wieder geschlossen) sowie (an denselben Stellen) sehr fragliche Syntaxfehler dieser Klammern.
- Sven Rautenberg
_a-zA-Z0-9- ↩︎