Hvad man kan gøre, er at tilføje en lille JavaScript funktion der validerer gyldigheden af email adressens formatering (ikke om denne reelt eksisterer). Klassikeren er, at kigge om der eksisterer et @ i linien, hvor følgende regulære ekspression tager skridtet videre og undersøger adressen sammenlignet med en bredere formatering, for at undgå de allernemmeste snyde emails.
Funktionen man kan bruge ser således ud
<!--
function verifyemail_check(str) {
if(!str.match(/^[\w]{1}[\w\.\-_]*@[\w]{1}[\w\-_\.]*\.[\w]{2,6}$/i)) {
return false;
} else {
return true;
}
}
//-->
</script>
Hvis vi ønsker at koble denne på en formular, kan følgende eksempel anvendes - via onSubmit på formelementet, kan vi ved submit af formularen køre funktioner der validerer brugerens input.
Formular eksempel, der inkluderer funktionskaldet på onSubmit - jeg anvender her en anden funktion end ovenstående, da jeg samtidig gerne vil lave fejlhåndtering for brugeren
Navn : <input type="text" name="name"><br>
E-mail : <input type="text" name="email"><br>
<input type="submit" name="submit" value="udfør">
</form>
Min udvidede valideringsfunktion kunne så se således ud
<!--
function verifyemail_check(str) {
if(!str.match(/^[\w]{1}[\w\.\-_]*@[\w]{1}[\w\-_\.]*\.[\w]{2,6}$/i)) {
return false;
} else {
return true;
}
}
function validate_form(form) {
if (!form.name.value.length > 0) {
alert("Du glemte at indtaste dit navn !");
form.name.focus();
return false;
}
if (!verifyemail_check(form.email.value)) {
alert("Den indtastede email er ikke gyldig !");
form.email.focus();
return false;
}
return true;
}
//-->
</script>
Således kunne et simpelt valideringsscript se ud - det er vigtigt at forstå dette ikke 100% sikrer data i systemet, men man undgår de værste fejlindtastninger fra brugeren. Systemet kan relativt nemt omgås og bagvedliggende systemer bør tage højde for, at data herfra ikke er 100% sikre.
Koden er taget fra http://www.ljweb.com/ (...) hvor koden vedligeholdes og nyeste version være tilgængelig.
/ LJ


