预览模式: 普通 | 列表

以下是引用片段:
Function validate(ByVal str,ByVal number)
Dim temp,reg
Set reg = new regexp
reg.ignorecase=true
reg.global=true
Select Case CStr(number)
' 英文+空格
Case "0" temp = "^[a-zA-Z ]+$"
' 数字+横杠
Case "1" temp = "^[0-9\-]+$"
' 半角数字
Case "2" temp = "^\d+$"
' 邮箱地址
Case "3" temp = "^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"
' 手机号码格式
Case "4" temp = "^(((13[0-9]{1})|159|153)+\d{8})$"
' 电话号码格式1
Case "5" temp = "^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$"
' 电话号码格式2
Case "6" temp = "^(([0\+]\d{2,3}-)?(0\d{2,3}))?(\d{7,8})(-(\d{3,}))?$"
Case Else temp = number
End Select
reg.pattern = temp
validate = reg.test(Trim(str))
Set reg = Nothing
End Function

Tags: asp 正则表达式

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2557

使用正则表达的几个ASP验证函数

根据正则表达式写了几个ASP验证或者过滤函数,源码如下:

函数一:过滤不是中文的字符并返回
Function dealChinese(checkStr)
Dim RegExpObj
Dim resultStr

Set RegExpObj=new RegExp
RegExpObj.Global = True
RegExpObj.Pattern="[^\u4e00-\u9fa5]"
resultStr = RegExpObj.replace(checkStr,"")    '将非中文字符删除

Set RegExpObj=nothing
dealChinese=resultStr
End Function

函数二:验证是否为Email
Function isEmail(email)
Dim m,n
Dim result
result=true
'方法一(较为简单)
' n=Instr(email,"@")
' m=InstrRev(email,".")
' if n<2 or m=0 or m=Len(email) or m<=n+1 then result=false
'方法二(相对严格)
Dim RegExpObj
Set RegExpObj=new RegExp
RegExpObj.Pattern="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
result=RegExpObj.test(email)
Set RegExpObj=nothing
'------
isEmail=result
End Function

函数三:过滤用户名中的非法字符
Function dealUserName(userName)
Dim RegExpObj
Dim resultStr

Set RegExpObj=new RegExp
RegExpObj.Global = True
RegExpObj.Pattern="[^a-zA-Z0-9_]" '只允许字母、数字和下划线
resultStr = RegExpObj.replace(userName,"")
  
Set RegExpObj=nothing
dealUserName=resultStr
End Function

函数四:检查帖子内容
Function dealContent(checkStr_)
Dim RegExpObj
Dim resultStr,checkStr

查看更多...

Tags: asp 正则表达式

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2158

  在ASP中用“正则表达式对象”来校验数据的合法性

  我们在制作网站的时候,尤其是各种电子商务网站,首先都会让用户填写一些表格来获取注册用户的各种信息,因为用户有可能输入各式各样的信息,而有些不符合要求的数据会给我们的后端ASP处理程序带来不必要的麻烦,甚至导致网站出现一些安全问题。因此我们在将这些信息保存到网站的数据库之前,要对这些用户所输入的信息进行数据的合法性校验,以便后面的程序可以安全顺利的执行。所以我们一般会在后端编写一个ASP的校验程序来分析用户输入的数据是否是合法的。

  或许有人会问了,使用运行在客户端的JavaScript不是可以更好更快的来校验用户的数据吗?的确,这样在大多的情况下是可以的,为什么是大多情况下呢?因为你编写的JavaScript不一定可以完全正常的同时运行在IE以及Netscape上面,因为微软的Jscript并不全和JavaScript相同,再加上还有一些浏览器不一定和微软以及Netscape兼容的很好,所以很有可能在客户端的Javascript不会精确的校验用户输入的各种数据,而ASP程序是运行在服务器端的,只是和你的服务器的环境有关,无论客户端是什么浏览器,对于你的ASP程序来说都是没有分别的,所以选择使用后端的ASP程序来进行数据合法性的校验是一个好的选择。

  在使用ASP来进行后端的数据合法性校验的时候,有些人为满足不同环境下面的数据校验,编写了很多的函数来实现,比如,我们想要校验用户输入的URL 地址是否合法,是可以自己编写一段代码来逐个逐个字符的分析用户输入的信息,要分析的信息量小了,那还比较好办,若是分析的条件千变万化,那可就惨了,不但要编写很长很繁琐的代码,而且运行的效率极其低下,有没有好的解决办法呢?有,那就是VBScritp5.0提供的“正则表达式”对象,只要你的服务器安装了IE5.x,就会带VBScript5.0。其实,“正则表达式”原本是Unix下面的专利,尤其是在Perl语言中使用的最为广泛,正是由于“正则表达式”的强大功能,才使得微软慢慢将正则表达式对象移植到了视窗系统上面,利用“正则表达式”对象,我们就可以非常方便的对各种数据进行合法性的校验了。

查看更多...

Tags: asp 正则表达式

分类:技术文章 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2078

 广告位

↑返回顶部↑