JavaScript实现敏感信息脱敏的示例代码

 更新时间:2024年04月19日 08:28:58   作者:飞仔FeiZai  
这篇文章主要为大家详细介绍了如何使用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"

到此这篇关于JavaScript实现敏感信息脱敏的示例代码的文章就介绍到这了,更多相关JavaScript敏感信息脱敏内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JS返回页面时自动回滚到历史浏览位置

    JS返回页面时自动回滚到历史浏览位置

    这篇文章主要介绍了JS返回页面时自动回滚到历史浏览位置的相关知识,本文给大家使用的是SessionStorage来存储页面内容,在返回页面时重新加载,具体实现代码大家跟随小编一起看看吧
    2018-09-09
  • 关于字符串和对象互转以及JSON.parse()的坑

    关于字符串和对象互转以及JSON.parse()的坑

    这篇文章主要介绍了关于字符串和对象互转以及JSON.parse()的坑及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • 详解钉钉小程序组件之自定义模态框(弹窗封装实现)

    详解钉钉小程序组件之自定义模态框(弹窗封装实现)

    这篇文章主要介绍了钉钉小程序组件之自定义模态框(弹窗封装实现)的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • JSON与js对象序列化实例详解

    JSON与js对象序列化实例详解

    这篇文章主要介绍了JSON与js对象序列化,结合实例形式详细分析了JavaScript与JSON序列化操作的相关实现技巧与注意事项,需要的朋友可以参考下
    2017-03-03
  • JavaScript闭包 懂不懂由你反正我是懂了

    JavaScript闭包 懂不懂由你反正我是懂了

    如果你不能向一个六岁的孩子解释清楚,那么其实你自己根本就没弄懂。好吧,我试着向一个27岁的朋友就是JS闭包(JavaScript closure)却彻底失败了
    2011-10-10
  • 微信小程序module.exports模块化操作实例浅析

    微信小程序module.exports模块化操作实例浅析

    这篇文章主要介绍了微信小程序module.exports模块化操作,结合实例形式简单分析了module.exports模块化的定义与引用相关操作技巧与注意事项,需要的朋友可以参考下
    2018-12-12
  • 微信小程序激励式视频广告组件使用详解

    微信小程序激励式视频广告组件使用详解

    这篇文章主要介绍了微信小程序激励式视频广告组件使用,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • JS选取DOM元素常见操作方法实例分析

    JS选取DOM元素常见操作方法实例分析

    这篇文章主要介绍了JS选取DOM元素常见操作方法,结合实例形式分析了javascript针对dom元素的常见选取与样式修改相关操作技巧,需要的朋友可以参考下
    2018-12-12
  • JS函数报错Uncaught ReferenceError: XX is not defined问题及解决

    JS函数报错Uncaught ReferenceError: XX is not

    这篇文章主要介绍了JS函数报错Uncaught ReferenceError: XX is not defined问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • js点击事件的执行过程实例分析【冒泡与捕获】

    js点击事件的执行过程实例分析【冒泡与捕获】

    这篇文章主要介绍了js点击事件的执行过程,结合实例形式分析了js事件机制中的冒泡与捕获相关原理、操作技巧与注意事项,需要的朋友可以参考下
    2020-04-04

最新评论