主题:  最好的检测Email地址有效性的方法!

有饭

职务:普通成员
等级:2
金币:10.0
发贴:669
注册:2002/3/25 12:50:19
#12002/4/2 8:40:55
Function IsValidEmail(Email)
ValidFlag = False
If (Email $#@60;$#@62; "") And (InStr(1, Email, "@") $#@62; 0) And (InStr(1, Email, ".") $#@62; 0) Then
atCount = 0
SpecialFlag = False
For atLoop = 1 To Len(Email)
atChr = Mid(Email, atLoop, 1)
If atChr = "@" Then atCount = atCount + 1
If (atChr $#@62;= Chr(32)) And (atChr $#@60;= Chr(44)) Then SpecialFlag = True
If (atChr = Chr(47)) Or (atChr = Chr(96)) Or (atChr $#@62;= Chr(123)) Then SpecialFlag = True
If (atChr $#@62;= Chr(58)) And (atChr $#@60;= Chr(63)) Then SpecialFlag = True
If (atChr $#@62;= Chr(91)) And (atChr $#@60;= Chr(94)) Then SpecialFlag = True
Next
If (atCount = 1) And (SpecialFlag = False) Then
BadFlag = False
tAry1 = Split(Email, "@")
UserName = tAry1(0)
DomainName = tAry1(1)
If (UserName = "") Or (DomainName = "") Then BadFlag = True
If Mid(DomainName, 1, 1) = "." then BadFlag = True
If Mid(DomainName, Len(DomainName), 1) = "." then BadFlag = True
ValidFlag = True
End If
End If
If BadFlag = True Then ValidFlag = False
IsValidEmail = ValidFlag
End Function
%$#@62;
用法举例:
IsValidEmail("my_263_email@263.net") 返回Ture
IsValidEmail("zh99wj@tonghua.com.cn") 返回Ture
IsValidEmail("myemail263.net") 返回False
IsValidEmail("my_263_email@263) 返回False
请注意,函数只是判断Email地址格式是否有效,但并不能检查该地址是否确实存在。



5D荣誉斑竹

职务:普通成员
等级:5
金币:10.0
发贴:3292
注册:2001/5/24 10:01:29
#22002/4/2 13:35:53
最好在语句中加入注释说明程序语句