—————————————————
' | Author:I94Self |
' | E_mail:I94Self@hotmail.com |
' | HTTP://www.I94Self.com |
' | Please save author information |
' —————————————————
''''''''''''''''''''''''''''''''
' 判断E_mail输入是否正确 '
''''''''''''''''''''''''''''''''
Function IsValidE_mail(E_mail)
'判断E_mail地址中是否有@符号,如果没有@符号或者@符号在E_mail字符第一个或最后一个,则函数都返回False,并退出函数。
E_mailArray=Split(E_mail, "@")
If UBound(E_mailArray)<>1 Then
IsValidE_mail=False
Exit Function
End If
'判断E_mail地址中是否有连在一起的..符号(包括了...或无数个.连接的符号),如果有,则函数都返回False,并退出函数。
If InStr(E_mail,"..")>0 Then
IsValidE_mail=False
Exit Function
End If
'判断E_mail地址中@后的字符串是否有.字符,如果没有.符号或者.符号在E_mail字符第一个,则函数都返回False,并退出函数。
If InStr(E_mailArray(1), ".") <= 0 Then
IsValidE_mail = False
Exit Function
End If
'判断E_mail地址中.后的字符串是否等于2字符或3字符,如果不等于,则函数都返回False,并退出函数。
Number=Len(E_mailArray(1))-InStrRev(E_mailArray(1),".")
If Number<>2 And Number<>3 Then
IsValidE_mail=False
Exit Function
End If
For Each E_mailArrayContent In E_mailArray
'判断E_mail地址中@前是否有字符,如果没有,则函数都返回False,并退出函数。
If Len(E_mailArrayContent)<=0 Then
IsValidE_mail=False
Exit Function
End If
'判断E_mail地址中是否含有除abcdefghijklmnopqrstuvwxyz_-和数字以外的非法字符,如果含有,则函数返回False,并退出函数。
For Number=1 To Len(E_mailArrayContent)
E_mailStr=Lcase(Mid(E_mailArrayContent,Number,1))
If InStr("abcdefghijklmnopqrstuvwxyz_-.",E_mailStr)<=0 And Not IsNumeric(E_mailStr) Then
IsValidE_mail=False
Exit Function
End If
Next
'判断E_mail地址中@前后的字符串中是否第一个和是最后一个字符是.字符,如果是,则函数都返回False,并退出函数。
If Left(E_mailArrayContent,1)="." Or Right(E_mailArrayContent,1)="." Then
IsValidE_mail=False
Exit Function
End If
Next
'没有发现E_mail地址中有异常字符,函数返回True,函数结束。
IsValidE_mail=True
End Function