03. januar 2008 - 13:28Der er
14 kommentarer og 1 løsning
Validering af e-mail
Jeg bruger nedenstående til at validere en e-mail-adresse:
function validerEmailadressen(){ var strEmailadressen=document.formen.svaradresse.value; var filter=/^.*@.+(.+\.)*\.[a-z]{2,6}$/; if (!filter.test(strEmailadressen)){ return false; } return true; }
Problemet er, at den også tillader bl.a. æøå. Den skal kun acceptere a-z, 0-9, punktum, underscore samt bindestreg.
Men hvis du ikke øsnker at tillade dem, kan du jo altid følge op med et specifikt tjek på dem:
function validerEmailadressen(){ var strEmailadressen = document.formen.svaradresse.value; var filter = /^.*@.+(.+\.)*\.[a-z]{2,6}$/; var filter2 = /[æøå]/i; if (!filter.test(strEmailadressen)) { return false; } if (!filter2.test(strEmailadressen)) { return false; } return true; }
a-z, A-Z, 0-9, og '_' i domænenavnet. Afhængigt af omstændighederne kan den godt finde på at tillade æ, ø og å - men jeg er ikke helt klar over om det er tilfældet i JavaScript og hvordan det i så fald hænger sammen med browseren og sproget på dir operativ system. Men æ, ø og å sr som sagt slet ikke ulovlige tegn i et domænenavn.
Desuden tillader den hvadsomhelst foran @-tegnet - der er nemlig ingen formelle restriktioner på hvad det må stå der. Det afhænger udelukkende af hvad den aktuelle email-server tillader
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.