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"
posted @ 2024-04-18 16:23  飞仔FeiZai  阅读(92)  评论(0编辑  收藏  举报