Ciao a tutti,
ho la necessità di eseguire un controllo sul campo email di un form; ho seguito passo passo la guida su asp.html.it http://asp.html.it/articoli/leggi/762/convalida-del-campo-email/4/
ma sto avendo qualche problema, e non riesco a capire dove sta sto problema. Anche se la mail è corretta continua a valutarmela come non valida. Why?!?
Codice:
codice:Function CheckEmail(strEmail) Dim blnEmailAccepted Dim arrNome,szParte,intCount,szChar blnEmailAccepted = true 'arrNome contiene le due parti dell'email 'divise dal carattere @ arrNome = split(strEmail,"@") 'arrNome[0] = prima parte dell'email 'arrNome[1] = seconda parte dell'email 'Se arrNome <> 1, non è stato inserito il carattere @ If Ubound(arrNome) <> 1 then blnEmailAccepted = false Exit Function End If For Each szParte in arrNome 'La stringa è vuota (prima o dopo @) If Len(szParte) <= 0 then blnEmailAccepted = false Exit Function End If For intCount = 1 to Len(szParte) 'Trasformiamo in lower case perc la successiva verifica dei 'caratteri ammessi in un email con Instr, che è case sensitive 'Mid suddivide in sottostringhe una stringa szChar = LCase(Mid(szParte,intCount,1)) 'Se i caratteri non si trovano nella stringa di controllo, che 'contiene tutti i caratteri ammessi in un email, l'email non è valida If Instr("abcdefghijklmnopqrstuvwxyz_-.",szChar) <= 0 and not IsNumeric (szChar) then blnEmailAccepted = false Exit Function End If Next If Left(szParte,1) = "." or Right(szParte,1) = "." then blnEmailAccepted = false Exit Function End If Next '-- Controlli validi solo per la seconda parte dell'email 'Verifichiamo che ci sia un punto If Instr(arrNome(1),".") <= 0 then blnEmailAccepted = false Exit Function End If 'response.write("Before:" & intCount & " ") intCount = Len(arrNome(1)) - InStrRev(arrNome(1),".") 'response.write("After:" & intCount) 'La lunghezza del TLD dell'email non è valida '(TLD = Top-Level Domain) If intCount <> 2 and intCount <> 3 then blnEmailAccepted = false Exit Function End If 'Ci sono due .. consecutivi: email non valida If InStr(strEmail,"..") > 0 then blnEmailAccepted = false 'Exit Function 'Non lo scriviamo, la funzione termina cmq End If End Function

Rispondi quotando