Bei diesen Thema existieren im Netz unzählige Lösungsvorschläge. Viele sind fehlerhaft oder nicht mehr aktuell, Stichwort Umlautdomains. Nun kann man streiten ob Umlautdomains Sinn machen, aussperren sollte man sie jedoch nicht. Auch PHP:Filter liefert z.B. für "info@müller.de" einen Fehler und akzeptiert auch einen fehlenden Punkt nach dem @, also so was wie "X@Y" geht als fehlerfrei durch. Nicht so nach meinen Geschmack.
Auf der Suche nach einer Lösung hab ich hier einen Beitrag gefunden, der meinen Vorstellungen schon recht Nahe kommt.
Ich möchte folgendes prüfen (Nutzername@domain.tld):
1. Nutzername: Darf keine Leezeichen, Steuerzeichen und nicht @<>;,: () enthalten
2. dem Nutzername folgt ein @
3. domain: min2, max 63 Zeichen, darf keine Leezeichen, Steuerzeichen und nicht @<>;,: () enthalten
4. der domain folgt ein Punkt
5. die tld besteht nur aus Buchstaben, min. 2, max.10
Die Prüfung soll gravierende Eingabefehler abfangen und offen sein für zukünftige Neuerungen.
Folgender Code soll dies realisieren:
Meine Frage nun:
Liege ich mit meinen 5 Punkten richtig oder sperre ich mangels besseres Wissens Nutzer aus?
LG jspit
Auf der Suche nach einer Lösung hab ich hier einen Beitrag gefunden, der meinen Vorstellungen schon recht Nahe kommt.
Ich möchte folgendes prüfen (Nutzername@domain.tld):
1. Nutzername: Darf keine Leezeichen, Steuerzeichen und nicht @<>;,: () enthalten
2. dem Nutzername folgt ein @
3. domain: min2, max 63 Zeichen, darf keine Leezeichen, Steuerzeichen und nicht @<>;,: () enthalten
4. der domain folgt ein Punkt
5. die tld besteht nur aus Buchstaben, min. 2, max.10
Die Prüfung soll gravierende Eingabefehler abfangen und offen sein für zukünftige Neuerungen.
Folgender Code soll dies realisieren:
PHP-Code:
$mail = "kontakt@möller.de";
$mailok = preg_match('/^[^@\s<>;,:()]+@[^@\s<>;,:]{2,63}\.[a-z]{2,10}$/i',$mail) > 0;
Liege ich mit meinen 5 Punkten richtig oder sperre ich mangels besseres Wissens Nutzer aus?
LG jspit

Kommentar