前端利用正则对手机号码,身份证号,姓名进行脱敏处理
一、脱敏规则
手机号码:第4到第7位用掩码替换
身份证号:第7-14位用掩码替换
姓名:保留姓,名(无论一位或两位)统一用一个*替换
二、脱敏方法
/**
* 脱敏公共方法
*/
export const encryptPublic = (str, kind) => {
if (!str) return ''
if (kind == 'name') {
return str.substr(0, 1) + '*'
}
if (kind == 'idcard') {
return str.replace(/^(.{6})(?:\d+)(.{4})$/, '$1********$2')
}
if (kind == 'phone') {
return str.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2')
}
}
总结
正则很奇妙