几个简单的正则(不断更新中...)

王朝asp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

<%

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>")

%>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有