Hi,
ich habe mir eine Plausibilitätsprüfung für eingegebene E-Mails überlegt, ...
nein, offensichtlich nicht. Vielleicht für e-Mail-_Adressen_, aber nicht für die e-Mails selbst.
(Sorry, ich hatte zufällig noch ein paar Korinthen in Darm.)
Die Prüfung auf unzulässige Zeichen habe ich weggelassen, weil sich diese ja immer wieder mal ändern oder ergänzt werden können.
Die meisten restlichen Prüfungen kannst du eigentlich auch weglassen. Was bringt dir die Erkenntnis, dass eine Mailadresse formal korrekt ist? Ob sie gültig ist (d.h. mit einem existierenden Postfach verknüpft), weißt du davon noch lange nicht.
if (Domaene.indexOf(".") == -1)
add_error (Feldspezifischer_Fehler, "E-Mail-Adresse", "Der Punkt im Domänenteil fehlt");
Lokale Mailadressen wie etwa root@localhost möchtest du ausschließen?
if (input.indexOf(".") == 0)
add_error (Feldspezifischer_Fehler, "E-Mail-Adresse", "Der Namensteil darf nicht mit einem Punkt beginnen");
else
if (input.indexOf(".") == input.length)
add_error (Feldspezifischer_Fehler, "E-Mail-Adresse", "Der Domänenteil darf nicht mit einem Punkt enden");
Diese zwei Regeln sind zwar theoretisch richtig, aber unbrauchbar. Zumindest GMX erlaubt nämlich Mailadressen mit einem Local Part, der mit Punkt endet (ich kenne jemanden, der eine Mailadresse in der Art von foo.bar.@gmx.net hat).
Und noch ein allgemeiner Tipp zur Nomenklatur: Die Mail-Standards (RFC) unterscheiden zwischen Local Part und Domain Part (oft auch Hostname), und was du "Länderkennung" nennst, ist korrekt die TLD (Top Level Domain). Denn die ist ja nicht unbedingt länderspezifisch, sondern kann ja auch .com oder .org oder .museum sein - und noch eine Reihe anderer Möglichkeiten.
So long,
Martin
--
Kennst du ein eisenhaltiges Abführmittel mit zwölf Buchstaben? - Handschellen.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(