新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > Web开发 > Asp教程 > 正文:几个简单的正则

几个简单的正则

新客网 XKER.COM 2005-02-24 来源: 收藏本文
<%
Rem ## 简单正则检测是否含有非法字符
Rem ## str 待检测的字符串
Rem ## BadWordList 过滤的字符串, 必须以 | 相隔
function IsHaveBadWord(str, BadWordList)
Dim strPattern
strPattern = BadWordList & "+"
Dim oRegEx, oMatch
Set oRegEx = New RegExp
oRegEx.IgnoreCase = True '不区分大小写
oRegEx.Global = True
oRegEx.Pattern = strPattern
Set oMatch = oRegEx.Execute(str)
If oMatch.Count Then
IsHaveBadWord = True
Else
IsHaveBadWord = False
End If
End function

Rem ## 简单正则替换非法字符, 以一个*代替
Rem ## str 待检测的字符串
Rem ## BadWordList 过滤的字符串, 必须以 | 相隔
function ReplaceBadWord(str, BadWordList)
Dim strPattern
strPattern = BadWordList & "+"
Dim oRegEx, oMatch
Set oRegEx = New RegExp
oRegEx.IgnoreCase = True '不区分大小写
oRegEx.Global = True
oRegEx.Pattern = strPattern
ReplaceBadWord = oRegEx.Replace(str, "*")
Set oRegEx = Nothing
End function

response.Write("ASP萧月痕xiaoyuehen " & IsHaveBadWord("ASP萧月痕xiaoyuehen", "xiaoyuehen|萧月痕") & "<br>")
response.Write("ASP萧月痕xiaoyuehen " & ReplaceBadWord("ASP萧月痕xiaoyuehen", "xiaoyuehen|萧月痕") & "<br>")

Rem ## 检测是否为,相隔的数字序列. 可用于表单的多选提交检测
Rem ## str 待检测的字符串
function MatchNumList(str)
Dim strPattern
strPattern = "^[0-9]{1,}(,[0-9]+){0,}$"
Dim oRegEx, oMatch
Set oRegEx = New RegExp
oRegEx.IgnoreCase = True '不区分大小写
oRegEx.Global = True
oRegEx.Pattern = strPattern
Set oMatch = oRegEx.Execute(str)
If oMatch.Count Then
MatchNumList = True
Else
MatchNumList = False
End If
End function
response.Write("6,1245,2122,456 " & MatchNumList("6,1245,2122,456") & "<br>")
response.Write("6,1a45,2122,456 " & MatchNumList("6,1a45,2122,456") & "<br>")
response.Write(",6,1245,2122,456 " & MatchNumList(",6,1245,2122,456") & "<br>")
response.Write("6,1245,2122,456, " & MatchNumList("6,1245,2122,456,") & "<br>")
%>

收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐