10. juli 2004 - 23:19Der er
4 kommentarer og 1 løsning
Validering af e-mail, men feltet må gerne være tomt
Som sagt i spørgsmålets titel, så vil jeg gerne have valideret et e-mail felt. Det eneste jeg har problemer med, er at tilføje, at feltet gerne må stå helt tomt, altså som et ikke-krævet udfyldt felt. Men hvis der bliver tastet noget i feltet, så skal der selvfølgelig tjekke på, at det er en gyldig e-mail-adresse. Jeg har denne til validering af gyldig e-mail:
if (!document.tilmelding.email.value.match(/^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/)) { errorMsg += "\n\tE-mail \t\t- Indtast en gyldig e-mail-adresse\n";
function checkEmail(mail){ var t = "\\wáàãââæåçéèêëìíîïñòóôõöøùúûüýÿ"; var regexp = new RegExp("^["+t+"]["+t+"\\.\\-]*@["+t+"]["+t+"\\.\\-]*\\.["+t+"]{2,}$","i"); if(mail=="")return true; if (!regexp.test(mail)||/(\.\.|\.@|@@|@\.)/g.test(mail)){ alert("Ikke korrekt mail-adresse-format"); return false; } }
Efter en diskussion den anden dag med mm12010, blev vi enige om, at ovenstående udtryk var en anelse ud over det nødvendige, så min e-mail-validerings-regexp idag ser sådan ud:
var regexp = new RegExp("^["+t+"]["+t+"\\.\\-]*@["+t+"]["+t+"\\.\\-]*\\.[\\w]{2,6}$","i");
Det var bare for ikke at komme til at godkende en email-adresse, som principielt var forkert !-)
Synes godt om
Ny brugerNybegynder
Din løsning...
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.