Archivlink: javarea.de Forum > JavaScript > eMail-Check mit JavaScript?
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > eMail-Check mit JavaScript?

Pages: [1]

geschrieben von Schorsch32j am 21.08.2006 - 12:41

geschrieben von Micha am 21.08.2006 - 17:36
Hi,

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!

Die Prüfung erfolgt mit indexOf()

Testen wir das an einem kleinen Bsp:

HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
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


Zitat
 Test, ob die Domain existiert

Nein, das sollte nicht möglich sein.

Doch das ist möglich --> 5. SMTP mit Auth. und Spamschutz mittels Captcha-Image und MX-Recordprüfung


geschrieben von Micha am 22.08.2006 - 09:32
Hi René

Zitat
 Original geschrieben von René am 22.08.2006 - 08:40
Doch das ist möglich --> 5. SMTP mit Auth. und Spamschutz mittels Captcha-Image und MX-Recordprüfung


Ö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 ;)

Schöne Grüße Micha


Powered by: JBB v.2.0.4 Copyright ©2000-2006, www.javarea.de.