JavaScript 实现敏感信息脱敏
银行卡号脱敏
要在 JavaScript 中对银行卡信息进行脱敏,可以使用字符串处理方法来替换敏感信息为特定的字符。以下是一个简单的示例代码,将银行卡号的中间数字用 “*” 替换:
function desensitizeCardNumber(cardNumber) {// 获取银行卡号长度const length = cardNumber.length;// 如果银行卡号长度小于等于4,则无需脱敏,直接返回原始银行卡号if (length <= 4) {return cardNumber;}// 取出前四位const firstTwo = cardNumber.substring(0, 2);// 取出后四位const lastFour = cardNumber.substring(length - 4);// 构造脱敏字符串,中间的数字用 "*" 替换const middle = "*".repeat(length - 6);// 组合成脱敏后的银行卡号const desensitizedCardNumber = firstTwo + middle + lastFour;return desensitizedCardNumber;
}// 测试
const cardNumber = "1234567890123456";
const desensitizedNumber = desensitizeCardNumber(cardNumber);
console.log(desensitizedNumber); // 输出: "12**********3456"
姓名脱敏
要在 JavaScript 中对姓名进行脱敏,可以根据实际需求采取不同的脱敏策略。以下是一个简单的示例代码,将姓名的后几个字符替换为 “*”:
function desensitizeName(name) {// 获取姓名长度const length = name.length;// 如果姓名长度小于等于1,则无需脱敏,直接返回原始姓名if (length <= 1) {return name;}// 取出第一个字符const firstChar = name.substring(0, 1);// 构造脱敏字符串,除了第一个字符外,其余字符都用 "*" 替换const desensitizedPart = "*".repeat(length - 1);// 组合成脱敏后的姓名const desensitizedName = firstChar + desensitizedPart;return desensitizedName;
}// 测试
const name = "张三";
const desensitizedName = desensitizeName(name);
console.log(desensitizedName); // 输出: "张*"
手机号脱敏
要在 JavaScript 中对手机号进行脱敏,可以根据实际需求采取不同的脱敏策略。以下是一个简单的示例代码,将手机号的后四位用 “*” 替换:
function desensitizePhoneNumber(phoneNumber) {// 获取手机号长度const length = phoneNumber.length;// 如果手机号长度小于等于7,则无需脱敏,直接返回原始手机号if (length <= 7) {return phoneNumber;}// 取出前三位const firstThree = phoneNumber.substring(0, 3);// 取出后四位const lastFour = phoneNumber.substring(length - 4);// 构造脱敏字符串,中间四位用 "*" 替换const middle = "*".repeat(length - 7);// 组合成脱敏后的手机号const desensitizedPhoneNumber = firstThree + middle + lastFour;return desensitizedPhoneNumber;
}// 测试
const phoneNumber = "13812345678";
const desensitizedPhoneNumber = desensitizePhoneNumber(phoneNumber);
console.log(desensitizedPhoneNumber); // 输出: "138****5678"