Reguläre Ausdrücke für ein Email-Formular

AlanHorman

Mitglied
Hallo,

Nach Verlassen des „Email“ Feldes wird überprüft, ob die eingegebene Adresse folgendem Format entspricht:
-‐ Emailadresse beginnt mit einem Kleinbuchstaben, gefolgt von
-‐ einer nicht‐leeren Sequenz von Kleinbuchstaben oder Ziffern, gefolgt von
-‐ einem ‚@‘ Symbol, gefolgt von
-‐ einer Sequenz von Kleinbuchstaben bestehend aus mindestens 2 Zeichen, gefolgt von
-‐ ‚ . ‘ (Punkt), gefolgt von
-‐ zwei oder drei Kleinbuchstaben.

Nach diesen Vorgaben habe ich meinen regulären Ausdruch in JavaScript erstellt.

Javascript:
  var regex = /[[a-z0-9]\@[a-z{2}.]\.[a-z]{2,3}$/;

und wenn ich mit dieser Email-Adresse test@xy.de in meinem Email-Feld den
folgenden Test mache,
Javascript:
alert(regex.test("#email"));
dann bekomme ich ständig false zurück. Wieso?
 
Hallo AlanHorman

Das sieht komisch aus:
[a-z{2}.]

Müsste das nicht:
[a-z]{2,}
sein?

Ausserdem:
alert(regex.test("#email"));
#email wird nie dem Format einer E-Mail-Adresse genügen. Wenn dann irgendwas wie: document.getElementById('#email').value

Viele Grüsse
Cromon
 
Danke SpiceLab, für den verbesserten regulären Ausdruck. Ich habe leider nicht viel Erfahrung damit und konnte keine gescheiten Tutorials darüber finden, speziell für Email-Adressen.

@Cromon: Das mit dem mindestens 2, also {2,} wusste ich nicht. Ich dachte ein Komma wäre nur zwingend erforderlich, wenn man 2 Werte hat.
Und danke für den anderen Hinweis. Der eigentliche Quelltext ist in jQuery geschrieben und bin wohl mit der normalen JavaScript-Schreibweise durcheinander gekommen.
 

Neue Beiträge

Zurück