asp正则表达式过滤内容中的手机,电话,邮箱,qq等数字联系方式,但不包括email。因为客户在发布产品的时候,会故意将手机,电话等联系方式 放到里面,这样我的查询联系方式的页面就一点用处都没有了,太讨厌了。于是找到一个asp正则函数解决了这个问题。
功能:asp替换字符串中长度大于5的数字为***
参数:strng为要替换的内容
整理:www.aspprogram.cn
原创文章,转载请保留此信息,谢谢
Function repnum(strng) '以数组返回
i = 0
Set regEx = New RegExp
regEx.Pattern = "(\d+)" '"[0-9]"
regEx.IgnoreCase = True
regEx.Global = True
Set Matches = regEx.Execute(strng)
For Each Match in Matches
'RetStr = RetStr &"<br>"& Match.Value
If Len(Match.Value)>=5 Then
strng = Replace(strng, Right(Match.Value,4),"***")
End If
i = i + 1
Next
repnum = strng
End Function
使用的时候就直接<%=repnum(content)%>就行了,运行结果是content字符串中的一些数字被换成***,起到隐藏联系方式的作用。如果觉得留下的数字多了,自己改一下这个函数里面相应的数字。
再补充一个相关的函数
功能:asp正则表达式提取字符串中所有的数字。
参数:strng为要提取的内容
Function RegExpTest(strng) '以数组返回
i = 0
Set regEx = New RegExp
regEx.Pattern = "(\d+)" '"[0-9]"
regEx.IgnoreCase = True
regEx.Global = True
Set Matches = regEx.Execute(strng)
For Each Match in Matches
RetStr = RetStr &"<br>"& Match.Value '输出提取出来的数字
i = i + 1
Next
RegExpTest = RetStr
End Function
使用方法<%=RegExpTest(content)%>,运行结果是content字符串中的所有数字,并换行。