regEx Problemchen
andi
- php
1 dedlfix
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 :)
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!
_a-zA-Z0-9- ↩︎