yubb.de-Logo
Tutorials
yubb@yubb
yubbService
Inside yubb

E-Mail-Check



Man kennt es bei Formularen zu gut: Verlangt man eine Mailadresse, wird das Feld leer gelassen oder erfundene Adressen eingegeben. Checkt man jedoch vor dem Senden die Mailadresse, kann man dies umgehen...
Ist die Mailadresse von der Syntax her ungültig, so wird das Formular nicht versandt. (Demo)
Füge folgendes in den
Code:
<head>...</head>
-Bereich ein:

Code:
<script language="JavaScript">
<!--
function EMail(s)
{
var a = false;
var res = false;
if(typeof(RegExp) == 'function')
{
var b = new RegExp('abc');
if(b.test('abc') == true){a = true;}
}

if(a == true)
{
reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
'(\\@)([a-zA-Z0-9\\-\\.]+)\'+
'(\\.)([a-zA-Z]{2,4})$');
res = (reg.test(s));
}
else
{
res = (s.search('@') >= 1 &&
s.lastIndexOf('.') > s.search(\'@\') &&
s.lastIndexOf('.') >= s.length-5)
}
return(res);
}
//-->
</script>


Das dafür ausgelegte Formular (reduziert aufs wesentliche) sieht so aus:
Code:
<form name="form1" onSubmit="return EMail(document.form1.mail.value)">
<input type="Text" name="mail">

<input type="Submit">

</form>


Was muss man beachten? Sowohl das Formular als auch das Eingabefeld für die Mailadresse müssen eindeutige Namen haben (hier:
Code:
form1
und
Code:
mail
). Der
Code:
form
-Befehl muss noch um den Ausschnitt der Art
Code:
onSubmit="return EMail(document.FORMULARNAME.EINGABEFELD-NAME.value)"
besitzen. Konkret auf dieses Beispiel heisst es also
Code:
onSubmit="return EMail(document.form1.mail.value)"
.

Geschrieben von Phil Marx am 18.06.2004 (6079x gelesen)
weiterempfehlen weiterempfehlen   Druckversion Druckversion   kommentieren kommentieren

1. Die Prüfung der Mailsyntax sollte `auch´ serverseitig laufen ....
2. language="JavaScript" ... unkorrekt!
3. es gibt einen this-Zeiger. der wäre auch hier sehr nützlich.
Geschrieben von René
1. Die Prüfung der Mailsyntax sollte `auch´ serverseitig laufen ....
2. language="JavaScript" ... unkorrekt!
3. es gibt einen this-Zeiger. der wäre auch hier sehr nützlich.
Geschrieben von René