Achtung! Eine Überprüfung auf eine gültige Emailadresse in einem einzeiligen Eingabefeld ist heutzutage nicht mehr erforderlich, da die Browser das schon automatisch machen, wenn es ein input type="email"
ist
Formularfelder überprüfen Sie strassenprogrammierer
Script im Head
<script language="JavaScript" type="text/JavaScript">
function checkmail() {
var ausdruck=/^[\w-\.]+@[\w-\.]+\.[a-zA-Z]{2,3}$/;
var email=document.form1.email.value;
if(ausdruck.test(email)==false||email.length<7){
alert("Sie haben keine richtige Email Adresse eingegeben.");
return false;
}
}
</script>
Formular Code
<form action="mailto:burg@on-design.de"
method="post" name="form1" onSubmit="return checkmail()">
Geben Sie hier Ihre Email Adresse ein:
<input name="email" type="text" id="email"
size="20" maxlength="20">
<input type="submit" name="Submit" value="Abschicken">
</form>
Hier wird die Email Angabe überprüft, ob ein @ Zeichen vorkommt,
ob verbotene Sonderzeichen enthalten sind, ob mindestens ein Punkt vorhanden
ist und ob die Ländererkennung mindestens 2 aber nicht mehr als 3 Zeichen
hat.
Um das zu testen wurde im Head das Javascript mit einer Funktion namens checkmail()
angelegt. Diese Funktion wird im Formtag mit dem EventHandler onSubmit aufgerufen,
jedoch wird außerdem durch return, die eigentliche Aktion des Formulars
erst mal gestoppt. onSubmit="return checkmail()"
Die Funktion
Unter der Variablen Ausdruck wird mit Platzhaltern ein String auf das Vorhandensein
bestimmter Zeichen und Zeichenfolgen überprüft, dazu später mehr.
If-Struktur
Mit der test() Methode wird ein String auf Übereinstimmung geprüft.
Außerdem wird noch geprüft, ob die Eingabe im Email Feld mindestens
7 Zeichen hat. Wenn hier false zurückgeben wird, erscheint das Alert Fenster
und mittels return false; wird die Abschicken Aktion des Formulars abgebrochen.
Such Ausdruck
Es handelt sich hierbei um einen sogenannten regulären Ausdruck. Reguläre Ausdrücke gibt es auch in andern Programmiersprachen, wobei kleine Unterschiede auftreten können. Siehe hier eine Liste regulärer Ausdrücke.
ausdruck=/^[\w-\.]+@[\w-\.]+\.[a-zA-Z]{2,3}$/;
Der gesamte Ausdruck wird in /Slash Zeichen eingeschlossen. Der Beginn der Zeichenfolge
wird mit ^Zeichen angezeigt und das Ende mit dem $ Zeichen.
[\w-\.]+
\w steht für alle alphanumerischen Zeichen, also a-z und A-Z und 0-9. Dadurch
sind alle Sonderzeichen öäüß etc ausgeschlossen.
- Es folgt ein Bindestrich, denn der darf in Emails vorkommen.
\. steht für Punkt.
Das Ganze wird in eckigen Klammern eingeschlossen und mit Plus Zeichen versehen.
Das bedeutet, dass eines der definierten Zeichen mindestens einmal vorkommen
muß, die Zeichen können aber beliebig oft und in beliebiger Reihenfolge
vorhanden sein.
@
ein nicht in Klammern eingeschlossenes Zeichen bedeutet, dass dieses Zeichen
an dieser Stelle einmal vorkommen muss.
[\w-\.]+\.
Es folgt wieder das oben beschreibene Schema, dann ein Punkt, der vorkommen
muß.
[a-zA-Z]{2,3}
Zum Schluss bei der Ländererkunng dürfen nur Buchstaben ohne Sonderzeichen
vorkommen, davon mindestens 2 aber nicht mehr als 3.
weitere Formularthemen
menue mathe Hintergrundfarbe Formularfelder auslesen