ASP判断E-Mail的合法性,以及过滤邮箱字符
发布时间:2010-05-27 12:23:00
函数名: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


猜你喜欢
- 要实现div的任意拖动,我们不妨分析一下整个过程。 当鼠标点击div时,触发一个事件,让div的位置属性(left,top)随着鼠标位置变化
- 前言pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行非tes
- 本文实例讲述了php实现汉字验证码和算式验证码的方法。分享给大家供大家参考。具体分析如下:大家知道简单数字或者字母验证码很容易被破解,但是算
- 通过XSL转换XML文件 最近,我喜欢上了XML编程,但又苦于它的美观程度又不够,找了许多书才搞定。用XML好是蛮好,但它还是不太适合做显示
- 列表的格式:变量A的类型为列表 namesList = ['xiaoWang','xiaoZhang',
- 起因在公司搭建了套webpack多页面应用脚手架,开始用着很爽,解决了既想使用Vue的模块化开发,又想做多页打包上线管理的初衷,但是随着业务
- 学生成绩管理系统简介一个带有登录界面具有增减改查功能的学生成绩管理系统(面向对象思想,利用tkinter库进行制作,利用.txt文件进行存储
- 最近面试,被问到一个题目,vue做一个按钮组件;当时只是说了一下思路,回来就附上代码。解决思路:通过父子组件通讯($refs 和 props
- Vuex getters动态获取state的值在做项目时,getters里有很多冗余代码,但是仔细一看可以根据参数来解决,于是决定使用传参来
- 前言:上一篇博客我用AOP+AbstractRoutingDataSource实现了MySQL读写分离,自己写代码实现判断该使用哪个数据源挺
- 1.join函数的语法及用法(1)语法:'sep'.join(sep_object)参数说明sep:分割符,可为&l
- 本文实例讲述了python使用Tkinter显示网络图片的方法。分享给大家供大家参考。具体实现方法如下:''' tk
- 前言gRPC 这项技术真是太棒了,接口约束严格,性能还高,在 k8s 和很多微服务框架中都有应用。作为一名程序员,学就对了。之前用 Pyth
- 解决方案1.安装django-cors-headerspip install django-cors-headers2.配置settings
- 代码如下:Select * from T_Employee select FName,FAge from T_Employee select
- python中的lambda通常是用来在python中创建匿名函数的,而用def创建的方法是有名称的,除了从表面上的方法名不一样外,pyth
- 通过Vue-cli进行webpack打包的坑Vue-cli为Vue项目搭建的脚手架的确很方便,但打包时容易出现空白页,或者对应的静态资源加载
- 1. 什么是 CSV 文件CSV(逗号分隔值)文件是使用逗号分隔信息的文本文件。该文件的每一行都是一条数据记录,也就意味着它可以用于以表格的
- python实现银行管理系统,供大家参考,具体内容如下有的地方用的方法的比较复杂,主要是为回顾更多的知识test1用来存类和函数#test1
- 方法说明: 同步版的 stat() 。方法返回一个stat数组对象,包含以下信息:(以下信息为案例中读取的文件信息,非默认值){