正則|正則 <%
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>")
%>