js加密手机号,身份证号,姓名
手机号脱敏
const phone = "13031325689";
const str = phone.replace(/(\d{3})\d*(\d{4})/, '$1****$2')
console.log(str) // 130****5689
身份证号脱敏
const card = "512326199102115645";
const str1 = card.replace(/(\w{6})\w*(\w{4})/,'$1********$2');
console.log(str) // 512326********5645
$1,$2是表示的小括号里的内容;$1是第一个小括号里的 ,$2是第2个小括号里的 ,以此类推
例如手机号脱敏:
(\d{3}) = 130
(\d{4}) = 5689
js 加密姓名和加密身份证号码
例子加密姓名
EncryptName(name) {
let newStr;
if(name.length === 2) {
newStr = name.substr(0, 1) + '*';
} else if (name.length > 2) {
let char = '';
for (let i = 0, len = name.length - 2; i < len; i++) {
char += '*';
}
newStr = name.substr(0, 1) + char + name.substr(-1, 1);
} else {
newStr = name;
}
return newStr;
}
加密身份证
EncryptCert(cert){
return cert.replace(/^(.{3})(?:\d+)(.{3})$/, "$1*********$2")
}