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"