当前位置:首页 > JavaScript

js实现电话号码脱敏

2026-01-31 07:34:07JavaScript

电话号码脱敏的实现方法

在JavaScript中,电话号码脱敏通常需要隐藏中间几位数字以保护用户隐私。以下是几种常见的实现方式:

使用正则表达式替换

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

处理不同长度的电话号码

function desensitizePhone(phone) {
  const len = phone.length;
  if (len <= 7) return phone;
  const visibleDigits = Math.floor(len / 3);
  const start = phone.slice(0, visibleDigits);
  const end = phone.slice(-visibleDigits);
  return start + '*'.repeat(len - 2 * visibleDigits) + end;
}
// 示例: desensitizePhone('4001234567') → "400*4567"

国际化电话号码处理

function desensitizeInternationalPhone(phone) {
  const countryCode = phone.match(/^\+\d+/)?.[0] || '';
  const mainNumber = phone.replace(countryCode, '');
  const visibleDigits = Math.floor(mainNumber.length / 4);
  const start = mainNumber.slice(0, visibleDigits);
  const end = mainNumber.slice(-visibleDigits);
  return countryCode + start + '*'.repeat(mainNumber.length - 2 * visibleDigits) + end;
}
// 示例: desensitizeInternationalPhone('+8613812345678') → "+861385678"

保留更多信息的脱敏方式

function smartDesensitize(phone) {
  const isMobile = /^1[3-9]\d{9}$/.test(phone);
  if (isMobile) {
    return phone.replace(/(\d{3})\d{4}(\d{4})/, '$1$2');
  }
  return phone.replace(/(\d{2})\d{3}(\d{2})/, '$1*$2');
}
// 示例: 
// smartDesensitize('13812345678') → "1385678"
// smartDesensitize('01012345678') → "01*678"

这些方法可以根据实际需求进行调整,例如改变显示的数字位数或脱敏符号。在处理用户数据时,确保符合相关隐私保护法规的要求。

js实现电话号码脱敏

标签: 电话号码js
分享给朋友:

相关文章

vue实现js休眠

vue实现js休眠

Vue 中实现 JavaScript 休眠 在 Vue 中实现 JavaScript 休眠通常需要使用异步方式,以避免阻塞主线程。以下是几种常见方法: 使用 setTimeout 和 Promis…

css3结合js制作

css3结合js制作

CSS3 结合 JavaScript 制作动态效果 CSS3 和 JavaScript 结合可以实现丰富的动态效果,包括动画、交互和响应式设计。以下是几种常见的实现方式: CSS3 动画与 Jav…

vue.js实现轮播

vue.js实现轮播

Vue.js 实现轮播功能 使用第三方库(推荐) Vue.js 生态中有许多成熟的轮播组件库,例如 vue-awesome-swiper 或 swiper,它们功能丰富且易于集成。 安装 swipe…

js实现复制

js实现复制

使用document.execCommand方法 在较旧的浏览器中,可以使用document.execCommand('copy')实现复制功能。创建一个临时的textarea或input元素,将需要…

js实现验证码

js实现验证码

使用Canvas生成图形验证码 在HTML中创建一个Canvas元素用于绘制验证码。通过JavaScript随机生成数字或字母组合,并添加干扰线、噪点等干扰元素增强安全性。 <canvas i…

js实现图片上传

js实现图片上传

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现图片上传功能。HTML部分需要创建一个文件选择输入框和一个用于…