ASP判断E-Mail的合法性,以及过滤邮箱字符

'作者:Loster(OICQ:181306) [如果转载请勿删除此信息,谢谢!]
'函数名:chk_Email()

'返回值:布尔值(True为通过,False为未通过)

'参数:email(需要判断的email,类型:字符串) Type_1(是否需要判断@之后的domain,类型:布尔值)

'Type_2(是否只能是特定域的E-Mail注册,类型:布尔值) Type_3(一个E-Mail是否只能注册一次,类型:布尔值)

Const C_maildomain=".com,.com.cn,.net,.net.cn,.org,.org.cn,.gov,.gov.cn,.edu,.edu.cn,.cn,.cc,.biz,.info" '电子邮件可接受的domain

Const C_Lockdomain="bit.edu.cn,loster.org" '特定的域

Function chk_Email(email,Type_1,Type_2,Type_3)
Dim i,k
Dim At
Dim Email_1,Temp

If email="" Then
chk_Email=False
Exit Function
End If

Email_1=Cstr(trim(email))

If Len(Email_1)<5 Then
chk_Email=False
Exit Function
End If

At=False

For i=1 To Len(Email_1)
Temp=Mid(Email_1,i,1)
If Temp="@" Then
at=True
Exit For
End If
Next

If At=False Then
Chk_Email=False
Exit Function
End If

k=0

For i=1 To Len(Email_1)
Temp=Mid(Email_1,i,1)
If Temp="." then
k=k+1
End If
Next

If k=0 Or k>2 Then
Chk_Email=False
Exit Function
End If

If Type_1=True Then

For i=1 To Len(Email_1)
Temp=Mid(Email_1,i,1)
If Temp="@" Then
k=i
Exit For
End If
Next

For i=k To Len(Email_1)
Temp=Mid(Email_1,i,1)
If Temp="." Then
k=i
Exit For
End If
Next

Temp=""

For i=k To Len(Email_1)
Temp=Temp+Mid(Email_1,i,1)
Next

Temp=Cstr(Trim(Temp))
At=False

For i=0 To R_Reader(C_Maildomain,",")
If Temp=Reader(i) Then
At=True
Exit For
End If
Next

Erase Reader

If At=False Then
Chk_Email=False
Exit Function
End If

End If

If Type_2=True Then
For i=1 To Len(Email_1)
Temp=Mid(Email_1,i,1)
If Temp="@" Then
k=i
Exit For
End If
Next

Temp=""

For i=k+1 To Len(Email_1)
Temp=Temp+Mid(Email_1,i,1)
Next

Temp=Cstr(Trim(Temp))

At=False
For i=0 To R_Reader(C_Lockdomain,",")
If Temp=Reader(i) Then
At=True
Exit For
End If
Next

Erase Reader

If At=False Then
Chk_Email=False
Exit Function
End If
End If

If Type_3=True Then
Dim j
Call Greate_UserDb()
Call Create_Rs("Select * from User_Basic_Info where User_Email='"&Email_1&"'",1,1,"User")
If Rs.Bof=False Then
Chk_email=False
Call Close_Rs()
Call Close_UserDb()
Exit Function
End If
Call Close_Rs()
Call Close_UserDb()
End If
chk_email=True
End Function

Dim User_Db,User_Driver
Dim User_Conn

User_Db="Data/userdata.mdb"

'建立User_conn的过程
Sub Greate_UserDb()
User_Driver="driver={Microsoft Access Driver (*.mdb)}"
User_Driver=User_Driver&";dbq="&server.mappath(User_Db)
'Response.Write (User_Driver)
Set User_Conn = Server.CreateObject("ADODB.Connection")
User_Conn.Open(User_Driver)
End Sub

'关闭User_conn的过程
Sub Close_UserDb()
User_Conn.Close
Set User_Conn=Nothing
End Sub

Dim Reader
Dim Rs

'读取常数,并将每个常数保存在reader数组中,参数:R_Str(常数串),F_Str(分隔符),返回值:Reader数组的下标
Function R_Reader(R_Str,F_Str)
Dim i

If R_Str="" Or F_Str="" Then
Exit Function
End If

Reader=Split(R_Str,F_Str)

For i=0 To Ubound(Reader,1)
Reader(i)=Cstr(Trim(Reader(i)))
Next
R_Reader=Ubound(Reader,1)
End Function

时间: 2025-01-01 05:09:09

ASP判断E-Mail的合法性,以及过滤邮箱字符的相关文章

ASP 判断 URL 查询字段, 显示相关内容

显示 作用: 在一个页面里显示不同页面 本文件实现的功能 当 查询为空返回主页当 dateview.asp?dayview= 显示该条件里的内容, 忽略其他当 dateview.asp?yearview= 显示该条件里的内容, 忽略其他当 dateview.asp?monthview= 显示该条件里的内容, 忽略其他当 dateview.asp?weekview= 显示该条件里的内容, 忽略其他以上都不是,则显示 dateview.asp?todayview= 的内容 主文件---/------

ASP中数据库记录的选取与过滤

数据|数据库 一.说明 大多数最终用户都要求他们的Web方案能够提供某种报表能力.使用HTML和ASP,可以很容易地提供在表格中列出记录以及逐条浏览它们的能力.但用户往往要求能够通过下拉列表框(或其它选择方式)选择某一类别的记录,或者说,他们希望能够使用某种"查询界面"来建立和执行查询,而不必直接使用SQL.本文演示运用ASP技术建立可选择的记录过滤界面的一种方法.虽然这里讨论的解决方法相当简单,但使用类似的技术可以在任何Web页面提供复杂的查询能力. 在为任何一个解决方法编码之前,都

ASP判断客户端浏览器语言自动跳转

<% dim lan lan=request.servervariables("http_accept_language") select case 1 case instr(lan,"zh-cn") response.redirect("http://www.3lian.com//cn/index.asp教程") '判断客户端是否是中文简体,如果是转向/cn/index.asp case instr(lan,"zh-tw&quo

asp判断文件FileExists,文件夹FolderExists,盘符driveexists

asp判断文件FileExists,文件夹FolderExists,盘符driveexists是否存在 ,盘符driveexists <% Set fs=Server.CreateObject("Scripting.FileSystemObject") if fs.driveexists("c:") = true then       Response.Write("Drive c: exists.") Else       Respons

asp.net mvc 5.2 IgnoreRoute 关于过滤.js资源问题

问题描述 asp.net mvc 5.2 IgnoreRoute 关于过滤.js资源问题 <add type="ignore" name="ignore.js" url="{resource}.js/{*pathInfo}"/> 这样无法起作用: 如下: Remote Address:127.0.0.1:80 Request URL:http://****************/Order/AjaxHandler.js Reques

php判断文件上传类型及过滤不安全数据的方法_php技巧

本文实例讲述了php判断文件上传类型及过滤不安全数据的方法.分享给大家供大家参考.具体如下: 禁止上传除图片文件以外的文件,提示,不要获取文件扩展名来判断类型,这样是最不安全的,我们用$_FIlES['form']['type']. 这个可以读取文件内容来识别文件类型,但它能识别的有限,不过如果你用图片就足够了解.函数,过滤不安全字符,实例函数代码如下: 复制代码 代码如下: function s_addslashes($string, $force = 0) {  if(!get_magic_

ASP判断图片的格式

ASP判断图片的格式 文件上传是要取得文件的格式,在asp里面有一个从最右边以什么取的函数substr($str,instrrev($str,".")+1)这样就得取了文件扩展名, 下面看个简单的例子: Dim file_ext file_ext="/pic/aaa.gif" response.write(substr($str,instrrev($str,".")+1))//这样得到的结果就是gif了.

asp判断多用户登录一

  asp判断多用户登录,怎样判断不让同一个用户名同时在多台机器上登陆一个系统 实现这个功能可有两种方式: 1.application 用application对象:如果做的是大型社区,可能要为每个登陆id生成一个appliaction,这样做虽然程序上设计会简单些但登陆用户过多及其耗费服务器资源,这里决不提倡,因为appliaction对象在用户登陆时生成很容易, 但是要做到真正的随着用户退出系统完全释放,到目前还没看到更好的方法~ <%  .....取用户名username.....  if

asp判断多用户登录二

asp判断多用户登录,急,怎样判断不让同一个用户名同时在多台机器上登陆一个系统完成后在新建一个loginCONN.asp文件复制下面的代码保存用于连接数据库 <% Dim CONN_TOL8 Dim Conn_T Dim mmdd mmdd="onlyTOL8.mdb" Set CONN_TOL8 = Server.CreateObject("ADODB.Connection") Conn_T="Provider=Microsoft.Jet.OLED