MyBB.de Forum

Normale Version: e-Mail Validierung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

mir ist aufgefallen dass die Überprüfung auf Richtigkeit einer e-Mail Adresse nicht richtig sein kann.
Denn es wird nach dem Punkt a-z und 0-9 zugelassen, was meiner Meinung nach falsch ist. Ich kenne keinen einzigen e-Mail Provider der nach dem Punkt Zahlen hat.

In der function.php ist der RegEx

PHP-Code:
return preg_match("/^[a-zA-Z0-9&*+\-_.{}~^\?=\/]+@[a-zA-Z0-9-]+\.([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]{2,}$/si"$email); 

dafür zuständig.

Testweise habe ich ihn bei mir so angelegt.

PHP-Code:
return preg_match("/^([a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-z]{2,4}){0,}$/si"$email); 

Ich habe mehrere Tests durchgeführt und auch den Online RegEx Prüfer in Anspruch genommen. Bisher ohne Fehler.

Ist mein RegEx so richtig ?
Dein Regex enthält einige Fehler:
Aha, ok. Wieder etwas dazu gelernt.

Aber ganz ehrlich. Wer zum Geier würde sich so eine dumme e-Mail Adresse aussuchen ? Eine Person die nur dummes Zeug im Schilde führt kann so eine doch nur beanspruchen. Ich mein, eine e-Mail Adresse soll sich doch einprägbar sein, und nicht am Ende mit Krülischen Zeichen daherkommen.
Für einen Nicht-Chinesen sieht das natürlich kompliziert aus. Für den Chinesen sollte .中国 dagegen einfach zu merken und einzutippen sein.

Mit .vermögensberater und .vermögensberatung (ja, die gibt es anscheinend) hast du ja wahrscheinlich auch keine Probleme. Wink
Ok, andere Frage.

Wie zuverlässig ist die Funktion

PHP-Code:
FILTER_VALIDATE_EMAIL 

Mit

PHP-Code:
if(!filter_var($mybb->input['email'], FILTER_VALIDATE_EMAIL)) 

kann ich dies ja auch Validieren.
Diese Funktion hat verschiedene Probleme, wie man den Kommentaren entnehmen kann: http://php.net/manual/de/function.filter-var.php#111828

Letztlich spielt es keine große Rolle, wenn die E-Mail erst bestätigt werden muss...
Ok danke für deine Zeit und deine Mühe mit mir.