• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

preg_match vs FILTER_VALIDATE_URL

nookie

I did it all for the nookie
Hallo, ich habe eine Frage und zwar wollte ich jetzt die korrekheit einer Email und URL prüfen. Dazu habe ich zwei Möglichkeiten gefunden. Erste Möglichkeit wäre, die Korrekheit mit preg_match und dem dazugehörigen Regulären Ausdruck zu prüfen:

PHP:
if(preg_match("/([0-9a-zA-Z])@(\w+)\.(\w+)/", $email)) {
       echo $email . " is valid";
     } else {
       echo $email . " is not valid";
     }

oder halt mit FILTER_VALIDATE_EMAIL bzw. FILTER_VALIDATE_URL:
PHP:
if(filter_var($email, FILTER_VALIDATE_EMAIL)) {
            echo $email . " is valid";
        } else {
            echo $email . " is not valid"; 
        }

Meine Frage ist nun, ob man eine der beiden Möglichkeiten der anderen bevorzugen könnte bzw. welche sinnvoller (besser?) ist?
 
Zuletzt bearbeitet:
Moin,
Meine Frage ist nun, ob man eine der beiden Möglichkeiten der anderen bevorzugen könnte bzw. welche sinnvoller (besser?) ist?
die letze denke ich, weil es eben keine Kinderspiel ist, Domains und Emails auf richtigkeit zu prüfen.

Vor dem @ dürfen z.B. noch . und _ verwendet werden.
Was ist mit Umlaut-Domains? (die du übrigends in beiden Versionen erst zu punycode umwandeln musst)

[email protected] wäre z.B. valid. Wird in deinem Regex aber nicht berücksichtigt.

MfG
 
Zurück
Oben