1. 前言
- 脱敏就是对一些敏感信息进行处理,不显示完全,通常都是加*代替
- 也是比较常用的,比如 姓名脱敏,身份证脱敏,手机号脱敏,银行卡号脱敏
3.具体的写法有很多,这里只是一种而已
2. 姓名脱敏
/**
* @desc: 姓名脱敏 this.$fn.hideName('张三丰')
* @param {*} name
* @return {*}
*/
const hideName =(name) =>{
if (!name) {
return "-";
}
const length = name.length;
if (length <= 2) {
return name[0] + "*".repeat(length - 1);
}
return name[0] + "*".repeat(length - 2) + name[length - 1];
}
3. 身份证脱敏
/**
* @desc: 身份证脱敏
* @param {*} idCard
* @return {*}
*/
const hideIdCard = (idCard)=> {
if (!idCard) return "-";
// let idCard = 420101199904136340;
return Object.assign(idCard).replace(/(.{3}).*(.{4})/, "$1********$2");
}
4. 手机号脱敏
/**
* @desc: 手机号码脱敏
* @param {*} phoneNum
* @return {*}
*/
const hidePhone = (phoneNum)=> {
if (!phoneNum) return "-";
let newPhone =
Object.assign(phoneNum).substr(0, 3) + "****" + phoneNum.substring(7);
// let phoneNum = 158016008888;
// 手机号仅显示前三位及后四位数字,隐藏信息用*代替
return newPhone;
}
5. 银行卡号脱敏
/**
* @desc: 银行卡号脱敏
* @param {*} bankCard
* @return {*}
*/
const hideBankCard = (bankCard)=> {
if (!bankCard) return bankCard;
var reg = /^(\d{4})\d+(\d{4})$/;
// let bankCard = 6236681420002483378;
return Object.assign(bankCard).replace(reg, "$1 **** **** $2");
}
参考资料
初心
我所有的文章都只是基于入门,初步的了解;是自己的知识体系梳理,如有错误,道友们一起沟通交流;
如果能帮助到有缘人,非常的荣幸,一切为了部落
的崛起;
共勉