man kann eine eMail nicht validieren. In Deinem Script wird zumindest schon einmal nach dem @-Zeichen gesucht.
Wenn Du es genauer haben möchtest, dann kannst Du diesen Artikel durcharbeiten.
Etwas einfacher gehts immer:
HTML-Quelltext
1:
2:
var emailadresse = document.forms[0].elements['xyz'].value;
if ( /^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$/.test(emailadresse) == false )
Wie gesagt, das nutzt Dir alles nicht, da eine Adresse wie kontakt@example.org immer korrekt ist auch wenn es die nicht gibt.
Micha
geschrieben von René am 21.08.2006 - 17:55
HTML-Quelltext
1:
2:
3:
4:
var exp_mail = new RegExp('^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@([a-z0-9-]+\\.)+([a-z]{2,4})$', 'i');
var emailadresse = document.forms[0].elements['xyz'].value;
if (exp_mail.test(emailadresse) == false)
geschrieben von Schorsch32j am 21.08.2006 - 22:04
Zitat
Original geschrieben von derletztekick am 21.08.2006 - 17:36
man kann eine eMail nicht validieren. In Deinem Script wird zumindest schon einmal nach dem @-Zeichen gesucht.
...
Wie gesagt, das nutzt Dir alles nicht, da eine Adresse wie kontakt@example.org immer korrekt ist auch wenn es die nicht gibt.
Micha
Das ist soweit schon klar. Was man neben dem "@" testen kann, ist der Punkt nach dem "@" und was ich auch schon gesehen habe ist ein Test, ob die Domain existiert (ich gehe mal davon aus, dass es kein "Fake"-Skript war).
Interessanterweise funktioniert die Abfrage nach dem "@" in meinem Skript nicht - d.h. Mail wird auch ohne zugestellt, ohne jede Fehlermeldung.
Vielen Dank euch beiden für die Tipps - werd mich morgen mal durchkämpfen (fällt mir alles noch ziemlich schwer).
Viele Grüße,
Schorsch
geschrieben von Micha am 21.08.2006 - 22:28
Hi,
da Dein Script wie ein Kneuel da liegt und keinerlei Formatierung aufweist, habe ich es nur grob überflogen!
var str = "mail@example.org";
var at_pos = str.indexOf("@"); //4
var str_wo_at = "mailexample.org";
var at_pos = str_wo_at.indexOf("@"); //-1
Mit window.alert() kannst Du dir den jeweiligen Inhalt ausgeben lassen - zu testzwecken. Wichtig ist, das indexOf eine -1 zurückliefert, sollte das Zeichen nicht gefunden werden...
Zitat
Test, ob die Domain existiert
Nein, das sollte nicht möglich sein. Man kann zwar einen Request senden mit dem XMLHttpRequest-Objekt aber afaik nur an servereigene Daten - same origin police
Du solltest Dir vll das mal ansehen und entsprechend umsetzen.
Micha
geschrieben von René am 22.08.2006 - 08:40
Zitat
Original geschrieben von derletztekick am 21.08.2006 - 22:28
Öhm, die Frage war/ist: "eMail-Check mit JavaScript?" Die von Dir gezeigte Möglichkeit ist eine Lösung in PHP. Ich hatte im SELFForum bereits über eine solche eMail-Validierung gelsen und war erstaund, das es mit dem dort genannten Beispiel sogar so "gut" funktionierte, das nicht nur Domain, sondern auch der eMail-Name stimmen musste.
LG Micha
geschrieben von René am 22.08.2006 - 10:17
Hallo Micha,
das baue ich glatt mal ein.
geschrieben von Micha am 22.08.2006 - 16:50
Hallo,
dann hat sich das lesen und nun zurück erinnern an den Thread ja bezahlt gemacht ;)