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"
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章