项目中用js隐藏身份证信息

在项目中通过js来隐藏身份证的某些字符,电脑版的实现是在页面截取,现在做手机版,想把截取字符串放在后台来操作,但为了保证手机版和电脑版显示一致,所以希望截取规则也能一致,ftl页面的js写法如下:

<html>
<body>

<script type="text/javascript">

var html = ‘123456789abcdefghi‘;
var uw = html.replace(/(\w)/g,function(a,b,c,d){return ((c>1&&c<6)||c>(html.length-5))?‘*‘:a});
document.write (uw);//打印出来的字符串 12****789abcde**** 

</script>
</body>
</html>

replace替换的正则表达式 /(\w)/g 中:
\w表示 用于匹配字母、数字、下划线字符 (但是我看有篇文章写的是如果里面的a是俄语的话,就可以逃过验证)
g表示是否全局替换,非全局的只替换首个匹配的字符串。
function(a,b,c,d)分别表示的意思是:
匹配到的字符串、变量值、匹配到的字符串在原字符串中的位置(从0开始)、原字符串

========================
对于function(a,b,c,d)js参数从哪里来的呢?
在网上搜了半天,发现是个官方定义的参数含义。对于参数的测试结果截图如下:
技术分享

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。