一个简单的E_mail地址判断函数

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

''''''''''''''''''''''''''''''''

' 判断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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航