mask - 使用 * 遮蔽字符串

用指定的掩码字符替换除最后 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'
posted @ 2018-01-18 17:26  大哥哥抓泥鳅  阅读(334)  评论(0编辑  收藏  举报