16. august 2006 - 12:55Der er
8 kommentarer og 1 løsning
Validering af flere emails
Der findes mange måder at validere en enkelt email på i en form. Men nu er jeg ved at lave en "Tip en Ven" funktion hvor brugeren kan indtaste flere email adresse i samme felt, med adskillelse af et komma. Replacer så evt. mellemrum via ASP.
Hvordan tjekker jeg at der er indtastet mindst ét @ og mindst ét punktum i det felt?
For jeg går ud fra at X antal email adresser jo er ukendt så det er næsten umulig at validere alle email adresserne.
for i = Lbound(emails) to Ubound(emails) optionArr = split(emails(i),",") for j = Lbound(optionArr) to Ubound(optionArr) msg.AddRecipient optionArr(j) next next
(Det er Jmail, den del med msg.AddRecipient)
Synes godt om
Slettet bruger
16. august 2006 - 14:41#3
Det må maks være 1 @. var email = "test@test.dk"; if(string.indexOf(@) == 1) { alert('Der var en'); } else { alert('Error...!'); }
Synes godt om
Slettet bruger
16. august 2006 - 14:42#4
OG så med . også var email = "test@test.dk"; if(email.indexOf('@') == 1 && email.indexOf('.') >= 1) { alert('Godkendt'); } else { alert('Error...!'); }
Et bud på en kode ville være dette. Så tilføjer den kun gyldige emails til modtager listen:
function checkEmail(fEmail) dim fMailRx Set fMailRx = New RegExp fMailRx.Global = True fMailRx.IgnoreCase = True fMailRx.Pattern = "^\w[\w\.\-\+]*@\w([\w\-]*\.)+\w{2}\w*$" checkEmail = fMailRx.test(fEmail&"") Set fMailRx = nothing end function
for i = Lbound(emails) to Ubound(emails) optionArr = split(emails(i),",") for j = Lbound(optionArr) to Ubound(optionArr) if checkEmail(optionArr(j)) then msg.AddRecipient optionArr(j) end if next next
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.