andi: regEx Problemchen

Hallo,
vorab: ich habe nicht wirklich Ahnung von regEx. Habe aber folgenden Schnipsel gefunden, um Email-Adressen auf deren "Gültigkeit" zu prüfen.

  
if(!ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,6})$", $email)) {  

Das funktioniert soweit so gut. Nur würde ich (in einem Gästebuch) auch den Fall erlauben wollen, das gar keine email-Adresse angegeben wird. könnte mir jemand dabei helfen?

Vielen Dank :)

  1. Hi!

    vorab: ich habe nicht wirklich Ahnung von regEx. Habe aber folgenden Schnipsel gefunden, um Email-Adressen auf deren "Gültigkeit" zu prüfen.
    if(!ereg("[1]+(.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+.)+([a-zA-Z]{2,6})$", $email)) {

    Der ist in mehrfacher Hinsicht falsch. Zum einen filtert er auch gültige Adressen weg, zum anderen benutzt er das veraltete ereg() und obendrein kann man auch mit gültig aussehenden Email-Adressen ungültige Angaben machen.

    Das funktioniert soweit so gut. Nur würde ich (in einem Gästebuch) auch den Fall erlauben wollen, das gar keine email-Adresse angegeben wird. könnte mir jemand dabei helfen?

    Wenn du nicht auf die Prüfung verzichten willst, wäre das folgende Logik:

    wenn ($email == leerer_String or gültig($email))

    Wenn dir eine aktuelle PHP-Version zur Verfügung steht, findest du bei den Filter-Fuktionen eine bessere Email-Adressen-Syntaxprüfung.

    Lo!


    1. _a-zA-Z0-9- ↩︎