有一个邮箱,名字比较极端:zzzzzzzzzz@qq.com
现在想要把除去首两位以外到@之间的字符替换为为*,如何实现呢?
因为账号部分是完全相同的,因此:
var x = 'zzzzzzzzzz@qq.com' x.replace(x.substring(2, 9), '****')
这样的写法会导致从开始就进行匹配,而得到**zz@qq.com
如何得到zz**@qq.com,并且要兼容一般字符串
--- 问题补充
'zzzzzzzzzz@qq.com'.replace(/(.{2})(.*)(@.+)/g, RegExp.$1+(Array.apply(null, {length:RegExp.$2.length+1}).join('*'))+RegExp.$3);
相关分类