DevTrain .NET Developers Home. Das Community Portal für ASP.NET, Visual Basic, C#
 
  Login Status: Hallo   Anmelden  Suche:  
Navigationslinks überspringen
Startseite
Artikel
Blogs
Foren
ClubClub erweitern

 
Ihre Optionen
Save
Mail
Print
Rate
 
Advertising
  Advanced Developers Track vom 24.-25. Februar 2010 im ehem. IMAX München

 
Navigationslinks überspringen
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!


Diskutieren Sie in den Foren

SharePoint konferenz vom 24.-25. Februar 2010 im ehem. IMAX München