用指定的掩码字符替换除最后 num
个字符以外的所有字符。
使用 String.slice()
获取需要被遮蔽的字符部分,并用正则表达式替换每个字符。 将遮蔽的字符与字符串的其余未遮蔽部分拼接起来。 省略第二个参数num
,默认值为4
,也就是说最后4个字符不被遮蔽。 如果num
是负数,则不被遮蔽的字符将从字符串的开头算起。 省略第三个参数 mask
,默认使用字符'*'
作为掩码遮蔽。
const mask = (cc, num = 4, mask = '*') => ('' + cc).slice(0, -num).replace(/./g, mask) + ('' + cc).slice(-num);
mask(1234567890); // '******7890' mask(1234567890, 3); // '*******890' mask(1234567890, -4, '$'); // '$$$$567890'