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"