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