接到个需求需要对传过来的手机号与身份证号加密显示,如图所示
忘了之前从哪里copy了一份代码了(侵删),怕以后需要留个记录
function encryptionInfo(val) {
var oldVal, newVal;
oldVal = String(val)
//手机号
if (oldVal.length === 11) {
newVal = oldVal.replace(/^(\d{3})\d+(\d{4})$/, "$1****$2");
}
//身份证
if (oldVal.length === 18 || oldVal.length === 15) {
newVal = oldVal.replace(/^(\d{4})\d+(\d{3}[\dxX])$/, "$1******$2");
}
// if (val.length != 11 || val.length != 18 || oldVal.length != 15) {
// v = "请输入正确的格式"
// }
return newVal;
}
//打印输出
console.log(encryptionInfo("18899785852"));
console.log(encryptionInfo("430624199812345678"));
console.log(encryptionInfo("43062419981234567X"));
之前copy的代码没有考虑到身份证尾数为字母的情况,我加上了,但是不确定最后一位到底是x还是X就都写上了