DevTrain

Autor: Andreas Rauch

Überprüfen von Zeichenkette mit JS - Emailvalidierung leicht gemacht

Haben sie online auch ein Formular mit dem Sie Benutzerdaten erfassen wolle? Sei es ein Gästebuch, die Angeben einer Person für einen Bestellung oder eine erforderliche Maske in der der Besucher seine Email Adresse hinterlasse. Und genau hier haben wir das Problem. Wir möchten gültige Emailadressen. Aber wie können wir das realisieren? Hier versuchen wir das Problem zumindest mit der Überprüfung von "@" einzugrenzen.

Dazu gibt es natürlich verschiedene Ansätze. Eine davon ist, das Problem mit Javascript zu lösen. Aber eines vorweggenommen. Eine Validierung der Emailadresse, d.h. die Gültigkeit kann man damit nicht gewährleisten.


Dazu schreiben wir nun einen ganz normale HTM Seite mit einem Formular, einem Inputfeld zum Eingabe der Emailadresse und dem Button zum Absenden und der Überprüfung.

Für die Überprüfung des Strings nehmen benutzen wir die Funktion indexof.

function IndexDemo(gesuchtesZeichen)
{
  var str1 = "test"
  var s = str1.indexOf(gesuchtesZeichen);
  return(s);
}


Diese Funktion ermittelt das erste Vorkommen eines Zeichens oder Zeichenkette in einer Zeichenkette und gibt zurück, an wievielter Stelle das Zeichen in der Zeichenkette steht. Die Zählung beginnt bei 0. Wenn die Suche erfolglos ist, wird -1 zurückgegeben.

Optional ist es möglich, die Funktion in einem zweiten Parameter anzuweisen, ab der wievielten Stelle in der Zeichenkette sie mit der Suche beginnen soll.

In unserem Beispiel reicht es aus die Existenz von @ zu überprüfen.

Die Funktion in JS der Emailadresse lautet folgendermaßen:

function validate()
{
x=document.eingabe
at=x.myEmail.value.indexOf("@")
if (at == -1)
 {
 alert("Not a valid e-mail")
 return false
 }
}

Sehen wir uns das Beispiel im Code einer HTML Seite an:

<html>
<head>
<script type="text/javascript">
function validate()
{
x=document.eingabe
at=x.myEmail.value.indexOf("@")
if (at == -1)
 {
 alert("Not a valid e-mail")
 return false
 }
}
</script>
</head>
<body>
<form name="myForm" action="testseite.htm" onsubmit="return validate()">

Enter your E-mail address:
<input type="text" name="myEmail">

<input type="submit" value="Senden">

</form>
</body>
</html>


Wie würde die Fundstelle wiedergegeben werden?

<html>
<head>
<title>Test</title>
</head>
<body>
<script language="JavaScript">
 Test = "Hier ist die Email";
 Suche = Aussage.indexOf("ist");
 alert("gefunden bei Position: " + Suche);
</script>
</body>
</html>

Der Rückgabewert von Suche resultiertend aus Aussage.indexof("ist") ist 5.

Viel Spaß dabei!


Erfasst am: 27.04.2001 - Artikel-URL: http://www.devtrain.de/news.aspx?artnr=435
© Copyright 2003 ppedv AG - http://www.ppedv.de