Chris: E-mail Adresse validieren - Wo liegt der Fehler?

Hallo

Ich benutze folgende Bedingung für die Überprüfung einer E-mail Adresse auf Korrektheit der Syntax:

[1]([-_.]?[0-9a-z])*@0-9a-z*\.[a-z]{2,6}$

Nun habe ich das Problem, dass die Eingabe von z.B. nur einem Buchstaben akzeptiert wird. Kann mir jemand sagen wo das Problem liegt? Zudem nähme es mich Wunder wie ich eine Bedingung formuliere die nur Buchstaben (ABER inkl. Umlaute wie ä,ö,ü etc) zulässt. Ist es eigentlich auch möglich Negationen zu machen d.h. festzulegen was NICHT im zu überprüfenden String vorkommen darf?
Bin noch nicht allzu sehr vertraut mit regulären Ausdrücken... Falls jemand ne URL zu einem guten Tutorial (ausser SELFHTML) hat, bin ich natürlich dankbar!

Gruss Chris


  1. 0-9a-z ↩︎

  1. Hallo,
    vielleicht hilft es dir schon, wenn ich dir zeige, wie ich eine E-Mail Validation mache.
    Bei dir hat mich z.B. der \ gewundert, oder dass großbuchstaben nicht erlaubt sind etc.

    negationen macht man mit ^ also z.B:
    "[^a]": alles außer a

    also, hier meine version:

    if(ereg ("([1][a-zA-Z0-9_.-]*[a-zA-Z0-9])@(.*)$",$_POST['email'], $regs)) {
      $server = $regs[2];
      if(!checkdnsrr($server, "ANY")) {
       $errortxt .= "your email adress is not valid 'cause your server wasn't found<br>\n";
       $error = true;
      }
     } else {
      $errortxt .= "your email adress is not valid<br>\n";
      $error = true;
     }

    ---

    Gruß,
    Benne


    1. a-zA-Z ↩︎

    1. Hallo Benne,

      if(ereg ("([1][a-zA-Z0-9_.-]*[a-zA-Z0-9])@(.*)$",$_POST['email'], $regs)) {

      bitte verteile nix weiter, das so nicht stimmt, wie Dir auch schon unter http://forum.de.selfhtml.org/archiv/2002/12/31592/#m171053 und den weiteren dortigen Beitraegen geschrieben wurde.
      E-Mail-Adressen duerfen deutlich komplizierter sein und unter bestimmten Umstaenden (quoted-string) auch Leerzeichen enthalten, vgl. http://aktuell.de.selfhtml.org/artikel/javascript/email-check/index.htm

      Gruss
      Thomas


      1. a-zA-Z ↩︎

  2. Hi Chris,

    Ich benutze folgende Bedingung für die Überprüfung einer E-mail Adresse auf Korrektheit der Syntax:
    Falls jemand ne URL zu einem guten Tutorial (ausser SELFHTML) hat, bin ich natürlich dankbar!

    schade, denn sonst hätte ich http://selfaktuell.teamone.de/tippstricks/programmiertechnik/email/ verlinkt, was eine gute Ausgangsbasis sein dürfte.

    LG Roland