在项目中通过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参数从哪里来的呢?
在网上搜了半天,发现是个官方定义的参数含义。对于参数的测试结果截图如下:
时间: 2024-09-29 20:08:03