JavaScript 实现敏感信息脱敏
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"