您要打印的文件是:一个简单的E-mail地址判断函数(通用)

一个简单的E-mail地址判断函数(通用)

作者:AloneSword    转贴自:CSDN    点击数:3041


     —————————————————
'    |  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