jom: regulärer ausdruck für e-mail validation geht nicht

hallo,

Kann mir jemand sagen warum folgender regulärer ausdruck nicht funktioniert.

Ich brauche diesen um ein formular auf eine gültige e-mail zu prüfen.

$email="g";

if(preg_match("^([ _a-zA-Z0-9-]+)(.[a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+.)+([a-zA-Z]{2,4})$",$email))
{
print "keine gültige e-mail";
}

gruß

  1. Hallo Jom,

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

    zum einen kannst Du dem Parser durch strtolower() eine Menge Arbeit abnehmen,
    zum anderen muß es kein regulärer Ausdruck sein https://forum.selfhtml.org/?t=100415&m=618265

    Gruß aus Berlin!
    eddi

    1. danke für eure hilfe :=)

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

    Du musst die "-" in den Character-Sets escapen: "-"

    Wie wärs mit dieser hier (oder einer ähnlichen):
    ([\w-.]+)@(([\w-]{2,}.)+[\w]{2,4})