开发过程中 偶尔会遇到展示用户个人信息的功能,项目一般会要求我们对名称,身份信息进行脱敏处理 以下是我的名称脱敏方法
desensitationName: string => {
/**
* 名称脱敏处理
* 脱敏规则:两个字的,脱第二个字,比如王*;三个字,保留第一个字和最后一个字,比如李*芳;四个字及以上,保留前两个字和最后一个字,比如上官**野
*/
if (string.length >= 4) {
return string.slice(0, 2).padEnd(string.length - 1, '*') + string[string.length - 1]
}
if (string.length >= 3) {
return string.slice(0, 1).padEnd(string.length - 1, '*') + string[string.length - 1]
}
if (string.length >= 2) {
return string.slice(0, 1).padEnd(string.length, '*')
}
return string
},