当前位置:K88软件开发文章中心编程语言AspAsp01 → 文章内容

ASP中判断输入的Email是否正确

减小字体 增大字体 作者:佚名  来源:翔宇亭IT乐园  发布时间:2019-1-3 0:44:47

:2012-01-31 12:53:58

我们在编写一些用户注册程序时,经常需要验证用户输入的Email是否正确,本文就给出一个源代码。

判断的基本原理是:

一个Email地址分为两部分,这两部分以@分开,@前面是用户的邮件用户名,@后面是Email的域名。因此,判断函数一开始就将输入就的email以@分为两部分,如果以@分完后,多于或少于两部分都为不正确的邮件。然后,判断函数判断输入的两部分内容是否为英文字母、数字、点(.)、减号(-)和下划线(_),如果包含其它字符,就是非法地址。然后判断域名是否包含“.”,以及“.”后面的字符是否为2位或3位,等等。

'判断EMAIL是否正确
Function IsValidEmail(email)
    Dim names, Name, i, c
    IsValidEmail = true
    names = Split(email, "@")
    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(email, "..") > 0 Then
      IsValidEmail = false
   End If
End Function


ASP中判断输入的Email是否正确