'----------------------------------------------------------------'
' isValidEMail
' 检验 EMail 地址有效性
' 参数:
' strEMail 需要被检测是否为合法 EMail 形式的字符串
' 返回值:布尔 (如果为合法 EMail 形式,返回 True,否则返回 False)
'----------------------------------------------------------------'
Function IsValidEMail(strEMail)
Dim names, name, i, c
isValidEMail = True
names = Split(strEMail, "@")
If UBound(names) <> 1 Then
isValidEMail = False
Exit Function
End If
For Each name In names
If Len(name) <= 0 Then
isValidEMail = False
Exit Function
End If
For i = 1 To Len(name)
c = LCase(Mid(name, i, 1))
If InStr("abcdefghijklmnopqrstuvwxyz_-.", c) <= 0 And Not IsNumeric(c) Then
isValidEMail = false
Exit Function
End If
Next
If Left(name, 1) = "." or Right(name, 1) = "." Then
isValidEMail = false
Exit Function
End If
Next
If InStr(names(1), ".") <= 0 Then
isValidEMail = False
Exit Function
End If
i = Len(names(1)) - InStrRev(names(1), ".")
If i <> 2 And i <> 3 Then
isValidEMail = False
Exit Function
End If
If InStr(strEMail, "..") > 0 Then
isValidEMail = False
End If
End Function
