当前位置:首页 > JavaScript

js实现脱敏

2026-04-07 02:13:16JavaScript

实现手机号脱敏

手机号脱敏通常保留前3位和后4位,中间用星号代替:

function maskPhone(phone) {
  return phone.replace(/(\d{3})\d{4}(\d{4})/, '$1$2');
}
// 示例
maskPhone('13812345678'); // 返回 "1385678"

实现身份证号脱敏

身份证号保留前6位和后4位,中间用星号代替:

function maskIdCard(idCard) {
  return idCard.replace(/(\d{6})\d{8}(\d{4})/, '$1$2');
}
// 示例
maskIdCard('110105199003072833'); // 返回 "1101052833"

实现姓名脱敏

姓名脱敏通常保留姓氏,名字用星号代替:

function maskName(name) {
  if (name.length <= 1) return name;
  return name[0] + '*'.repeat(name.length - 1);
}
// 示例
maskName('张三'); // 返回 "张*"
maskName('李小龙'); // 返回 "李"

实现银行卡号脱敏

银行卡号保留前6位和后4位:

function maskBankCard(card) {
  return card.replace(/(\d{6})\d+(\d{4})/, '$1$2');
}
// 示例
maskBankCard('6225880123456789'); // 返回 "6225886789"

实现邮箱脱敏

邮箱脱敏通常保留@符号前的第一个字符和最后一个字符:

function maskEmail(email) {
  const [prefix, suffix] = email.split('@');
  if (prefix.length <= 2) return email;
  return `${prefix[0]}${'*'.repeat(prefix.length - 2)}${prefix.slice(-1)}@${suffix}`;
}
// 示例
maskEmail('example@gmail.com'); // 返回 "e*e@gmail.com"

通用脱敏函数

可以创建一个更通用的脱敏函数:

js实现脱敏

function maskText(text, { start = 0, end = 0, maskChar = '*' } = {}) {
  if (text.length <= start + end) return text;
  return text.slice(0, start) + 
         maskChar.repeat(text.length - start - end) + 
         text.slice(-end);
}
// 示例
maskText('1234567890', { start: 3, end: 2 }); // 返回 "123*90"

注意事项

脱敏处理需要根据具体业务需求调整保留的位数和脱敏方式。敏感信息处理应遵循相关法律法规要求,确保数据安全和隐私保护。在正式环境中使用前,建议进行充分的测试验证。

标签: js
分享给朋友:

相关文章

js如何实现继承

js如何实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例能够访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js 实现链表

js 实现链表

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。与数组不同,链表在内存中是非连续存储的,插入和删除操作效率较高。 链表的实现 在 JavaScrip…

js实现百叶窗

js实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。 &…

js实现吸色

js实现吸色

使用Canvas实现吸色功能 通过Canvas的getImageData方法获取像素颜色数据。创建一个Canvas元素,将目标图像绘制到Canvas上,通过鼠标事件获取坐标对应的颜色值。 const…

js实现上传文件

js实现上传文件

文件上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现文件上传功能。 <input type="file"…

js进度条实现

js进度条实现

使用HTML和CSS创建基础结构 在HTML中创建一个容器元素用于显示进度条,通常使用<div>元素。CSS用于设置进度条的样式,包括宽度、高度、颜色和圆角等属性。 <div cl…