hallo anonym,
Das geht wesentlich besser mit regulären Ausdrücken.
re =
/^([a-zA-Z0-9\-\.\_]+)@([a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,4})$/; if(!re.test(document.mailer.d_mail.value)){
alert("Fehler");
return false;
}
Beispiel:
http://vsrv.de/...xt/regextester.shtml Kopiere das in die Zeile 'Regexp':
^([a-zA-Z0-9\-\.\_]+)@([a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,4})$ Kopiere das in die Zeile 'String':
abc@example.com Erklärung
^ Beginn der Zeichenkette (Anker)
( erster Teilstring Anfang
[a-zA-Z0-9\-\.\_] Zeichenklasse: a bis z A bis Z 0 bis 9 - . _
+ mindestens 1 mal aber beliebig viele
) erster Teilstring Ende
@ das @ Zeichen
( zweiter Teilstring Anfang
[a-zA-Z0-9\-\.] Zeichenklasse
+ s.o.
\. der Punkt
[a-zA-Z] Zeichenklasse
{2,4} mindestens 2 mal, maximal 4 mal
) zweiter Teilstring Ende
$ Ende der Zeichenkette (Anker)
Zusätzlich sind auch noch E-mails der Form
abcd@[nnn.nnn.nnn.nnn] zulässig, wobei nnn eine Zahl von 0 bis 255 sein kann.
Diese müssten auch noch als gültig erkannt werden.
/^([a-zA-Z0-9\-\.\_]+)@(\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\])$/ Wenn Du wieder einmal ein ähnliches Problem hast, ist es besser, die Gültigkeit zu definieren als die Ungültigkeit.
Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)