Plausibilitätsabfrage - @-Zeichen

Devotional

Grünschnabel
Hallo!

Ich habe ein Java Script, dass ich zur Plausibilitätsabfrage bei meinem Antwortformular nutzen möchte, allerdings soll es um einige Punkte erweitert werden. Ich weiß nur nicht , welche Einträge ich setzen muss, damit es funktioniert.
Ich möchte, dass eine Fehlermeldung erscheint, wenn
- nicht mindestens zwei Zeichen vor dem @-Zeichen stehen.
- nach dem @-Zeichen nur ein Zeichen eingetragen wurde.
- die Domainendung mehr als 3 Zeichen hat (Ausnahmen sollen sein: .info und .name).

Ich würde mich freuen, wenn mir jemand weiterhelfen könnte.


Hier noch der Script Bereich, den ich für das @-Zeichen nutze:

Code:
if(document.mailer.d_mail.value.indexOf('@')==-1 ||document.mailer.d_mail.value.indexOf('.')==-1)
{
alert ("Eine gültige E-Mailadresse muss das \n '@' (At-Zeichen) und einen '.' (Punkt)\n enthalten.");
document.mailer.d_mail.focus();
return false
}


var zeichen="/ ;:,äüö";
eingabe=document.mailer.d_mail.value;
laenge=eingabe.length;

for( i=0;i<laenge;i++ )
{
  badchar=eingabe.charAt(i);
  if (zeichen.indexOf(badchar)>-1)
 {
alert("Die Zeichen \n Slash(/),\n  Doppelpunkt (:),\n  Semikolon (;),\n  Komma (,)\n  und Leerzeichen ( )\n sowie deutsche Umlaute (ä,ü,ö) \n sind in einer Email nicht erlaubt." );
document.mailer.d_mail.focus();
return false;

 }

}

atPosition=document.mailer.d_mail.value.indexOf('@');

if(document.mailer.d_mail.value.indexOf('@',atPosition+1)>-1)
{alert ("Sie haben versehentlich mehr als ein '@-Zeichen' eingegeben.");
document.mailer.d_mail.focus();
return false
}


if(document.mailer.d_mail.value.indexOf('.',atPosition)==-1)
{alert ("An irgendeiner Stelle NACH dem '@-Zeichen' sollte ein Punkt folgen.");
document.mailer.d_mail.focus();
return false
}


punktPosition=document.mailer.d_mail.value.lastIndexOf('.');

if(punktPosition+3>document.mailer.d_mail.value.length){alert("Nach dem Punkt müssen noch mindestens 2 Zeichen folgen. ")
return false};

if(punktPosition+5<document.mailer.d_mail.value.length){alert("Bitte mindestens 2, aber NICHT mehr als 4 Zeichen nach dem Punkt.")
return false};
 
Zuletzt bearbeitet von einem Moderator:
Du könntest auch RegEx benutzen, da hast du alles in einer Zeile:
Code:
if (!eMailAdresse.match(/^[a-zA-Z0-9._-]{2,}@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/)) {
    window.alert('Adresse ist ungueltig.');
} else {
    window.alert('ok');
}
Ist zwar am Anfang nicht ganz einfach zu verstehen, aber wir haben dazu
auch ein recht gutes Tutorial dazu.
 
Wenn das alles enthält, was ich möchte, ist das natürlich die elegantere Variante, allerdings hätte ich gerne bei jedemm Fehler eine separate Fehlermeldung, damit der User genau weiß, was er falsch gemacht hat. Vorallem bei Geschäftsseiten ist das angebracht.
Zudem funkt das Script bei mir nicht, vermutlich liegt es daran, dass das E-mail Textfeld ein anderes Value zugewiesen bekommen muss?
Wie müsste den mein Script nun mit den gewünschten erweiterungen aussehen?
 

Neue Beiträge

Zurück