Andreas: eMail-Prüfung mit RegExp

Beitrag lesen

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


  1. a-zA-Z0-9 ↩︎

  2. a-zA-Z\d ↩︎

  3. \w|.|- ↩︎

  4. a-zA-Z\d ↩︎