现在的位置: 首页 > 综合 > 正文

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

2014年02月27日 ⁄ 综合 ⁄ 共 1644字 ⁄ 字号 评论关闭
    —————————————————
'    |  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

抱歉!评论已关闭.