Seite 1 von 1
Email Prüf Regex funktioniert nicht korrekt
Verfasst: 27.03.2010, 16:45
von smilla
Hi,
beim testen habe ich herausgefunden, dass mein email prüf regex nicht funktioniert, wenn ich großbuchstaben verwende. so schaut es aus:
Code: Alles auswählen
function check_email($email)
{
if (!preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/", $email))
{
return false;
}
else
{
return true;
}
}
was muss ich ändern, damit er das auch bei groß und kleinschreibung richtig prüft.
smilla
Verfasst:
von
SEO Consulting bei
ABAKUS Internet Marketing Erfahrung seit 2002
- persönliche Betreuung
- individuelle Beratung
- kompetente Umsetzung
Jetzt anfragen:
0511 / 300325-0.
Verfasst: 27.03.2010, 17:46
von SloMo
Der Modifikator i hinter dem abschließenden Delimiter wird helfen. Du solltest außerdem die Bindestriche escapen. Also:
/^[_a-z0-9\-]+(\.[_a-z0-9\-]+)*@[a-z0-9\-]+(\.[a-z0-9\-]+)*(\.[a-z]{2,4})$/i
Guckstu:
https://php.net/manual/de/reference.pcr ... ifiers.php
Verfasst: 27.03.2010, 19:50
von Hasenhuf
Darüber hinaus stuft deine Prüfung zulässige Emailadressen als falsch ein (nur ein Beispiel, es gibt tlds mit mehr als vier Buchstaben). Und darüber hinaus ist dein Vorhaben grundsätzlich überdenkenswert.
zum Lesen:
https://aktuell.de.selfhtml.org/weblog/ ... l-adressen
https://aktuell.de.selfhtml.org/artikel ... /index.htm
Verfasst: 30.03.2010, 17:39
von Bauchladen
Wozu gab es
FILTER_VALIDATE_EMAIL nochmal?
Code: Alles auswählen
if(filter_var($address, FILTER_VALIDATE_EMAIL) === FALSE) {
echo "Email (vllt.) schlecht";
} else {
echo "Email gut";
}
Alternativ (<5.2) hätte ich auch noch einen extra langen Ausdruck (woher sag ich nicht)
Code: Alles auswählen
/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!\.)){0,61}[a-zA-Z0-9_-]?\.)+[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!$)){0,61}[a-zA-Z0-9_]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/