Hallo,
Ich habe folgende RegExp-Ausdrücke zur Überprüfung einer eingegebenen eMail-Adresse definiert:
var err_email = new Array();
err_email(1) = "Emails müssen mit einem Buchstaben oder<br>einer Zahl beginnen, aber nur mit den<br>Buchstaben, die auch Bestandteil einer<br>Url sein können."
err_email(2) = "Du hast vergessen, das '@'-Zeichen<br>einzugeben. Alle eMail-Adressen haben<br>ein '@'-Zeichen, um den frei wählbaren<br>Namen von der Domain zu trennen.
err_email(3) = "Vor dem '@'-Zeichen steht ein Zeichen,<br>dass weder ein Wortelement, ein Punkt,<br>Unterstrich, noch ein Bindestrich ist.
err_email(4) = "Nach dem '@'-Zeichen steht entweder gar<br>nichts, oder ein Zeichen, dass weder ein<br>Wortelement, ein Punkt, Unterstrich, noch<br>ein Bindestrich ist.
err_email(5) = "Eine eMail-Adresse endet immer mit einem<br>Punkt auf den mindestens zwei, höchstens<br>aber vier Buchstaben folgen, wobei<br>Sonderbuchstaben nicht erlaubt sind.
RegExp_email = new Array();
RegExp_email(0) = /[1]\w[\w|.|-]+@\w[\w|.|-]+.[a-zA-Z]{2,5}|museum$/;
RegExp_email(1) =/[2]/;
RegExp_email(2) =/@/;
RegExp_email(3) =/[3]+@/;
RegExp_email(4) =/[4]\w[\w|.|-]+@\w[\w|.|-]+/;
RegExp_email(5) =/.[a-zA-Z]{2,5}|museum$/;
Die Überprüfung erfolgt nach Übergabe der Eingabe über die folgende Funktion:
function ueberpruefung(form_nr, feld_nr, feld_art, pflicht)
{
inhalt = document.forms[form_nr].elements[feld_nr].value;
[...]
email_pruefen(inhalt);
}
function email_pruefen(inhalt)
{
for (var i=0; i<6; i++)
if (!RegExp_email(i).test(inhalt))
{
// Fehlerausgabe über Variable err_email(i);
break;
}
}
Habe ich mit meinen Definitionen alle möglichen Varianten berücksichtigt oder sollten noch weitere Details aufgenommen werden ?
Gruss,
Andreas