如何对相同字符的字符串进行只显示首两位的脱敏替换

有一个邮箱,名字比较极端: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);


https://img2.mukewang.com/5c2c7d1a0001d34a08000109.jpg

慕尼黑的夜晚无繁华
浏览 581回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript