用ASP判断Email地址是否有效

2013 年 9 月 3 日4060

  在用ASP编写页面时,如果涉及到邮件发送,一般会要求输入Email地址。错误的Email地址往往带来许多不必要的麻烦,用下面的函数IsValidEmail就能判断出一个Email地址是否有效。

函数源代码:

<%

Function IsValidEmail(Email)

ValidFlag = False

If (Email <> "") And (InStr(1, Email, "@") > 0) And (InStr(1, Email, ".") > 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 >= Chr(32)) And (atChr <= Chr(44)) Then SpecialFlag = True

If (atChr = Chr(47)) Or (atChr = Chr(96)) Or (atChr >= Chr(123)) Then SpecialFlag = True

If (atChr >= Chr(58)) And (atChr <= Chr(63)) Then SpecialFlag = True

If (atChr >= Chr(91)) And (atChr <= 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

%>

用法举例:

IsValidEmail("my_263_email@263.net") 返回Ture

IsValidEmail("zh99wj@tonghua.com.cn") 返回Ture

IsValidEmail("myemail263.net") 返回False

IsValidEmail("my_263_email@263) 返回False

请注意,函数只是判断Email地址格式是否有效,但并不能检查该地址是否确实存在。

0 0