过滤问题,继续
在之前发布的一个贴子中。
有如下需求
过滤连续6位以上的数字,并且不在某个白名单中,都需要把数字过滤成红色的****
如:
1348769887
8769887
134988727764
白名单中值为: 8769887
如何用正则,弄成:
134*******
*******
134988727764
谢谢。
得到版主的回复:
<%
s="1348769887<br/>8769887<br/>134988727764"
s=RP(s)
response.Write s
%>
<script runat="server" language="jscript">
function RP(v) {
var whiterx = /(8769887|8769886)/;//修改你的这个正则如果还有其他白名单
return v.replace(/(\d{3})(\d{3,})/g, function ($0, $1, $2) {
if (whiterx.test($0)) return $0;//包含白名单中不替换
return $1 + '<font color="red">' + $2.replace(/\d/g, '*') + '</font>';
});
}
</script>