javascript - 部分屏蔽电子邮件地址 - javascript
问题描述
如何在 Javascript 中部分隐藏这样的电子邮件地址?
examplemail@domain.com => ex**pl**ai*@domain.com
我已经修改了下面的代码,但是可以得到我需要的结果,它只是返回这个结果:
考试********@domain.com
email.replace(/(.{4})(.*)(?=@)/, function (gp1, gp2, gp3) {
for (let i = 0; i < gp3.length; i++) {
gp2 += "*";
}
return gp2;
});
解决方案
您可以搜索一组四个字符并替换一组两个字符,直到找到一个@
标志-
const
mask = string => string.replace(
/(..)(.{1,2})(?=.*@)/g,
(_, a, b) => a + '*'.repeat(b.length)
);
console.log(mask('examplemail@domain.com'));