当前位置:首页 > JavaScript

js实现电话号码脱敏

2026-03-01 22:44:57JavaScript

电话号码脱敏的实现方法

在JavaScript中实现电话号码脱敏,主要目的是保护用户隐私,通常保留前几位和后几位数字,中间用星号或其他符号代替。以下是几种常见的实现方式:

正则表达式替换法

使用正则表达式可以高效地匹配和替换电话号码中的特定部分:

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

字符串截取拼接法

对于固定格式的电话号码,可以直接截取和拼接字符串:

function maskPhoneNumber(phone) {
  const prefix = phone.substring(0, 3);
  const suffix = phone.substring(phone.length - 4);
  return `${prefix}${suffix}`;
}

国际化处理方案

考虑到不同国家的电话号码格式不同,可以增加更灵活的处理:

function maskPhoneNumber(phone, visibleDigits = 4) {
  const maskLength = phone.length - visibleDigits * 2;
  if (maskLength <= 0) return phone;

  const prefix = phone.substring(0, visibleDigits);
  const suffix = phone.substring(phone.length - visibleDigits);
  return prefix + '*'.repeat(maskLength) + suffix;
}
// 示例:maskPhoneNumber('+8613812345678', 3) -> +86*678

处理带区号的电话号码

对于包含区号的电话号码,可以先提取区号再处理:

function maskPhoneWithAreaCode(phone) {
  const parts = phone.split(/(?<=\d)\s+/);
  if (parts.length > 1) {
    return parts[0] + ' ' + maskPhoneNumber(parts[1]);
  }
  return maskPhoneNumber(phone);
}
// 示例:010 13812345678 -> 010 1385678

注意事项

js实现电话号码脱敏

  • 处理前应先验证电话号码格式的有效性
  • 国际号码需要考虑不同国家的号码长度和格式
  • 在显示时建议添加提示说明这是脱敏后的号码
  • 移动端显示需考虑不同屏幕尺寸下的展示效果

以上方法可以根据实际业务需求进行组合或调整,核心思想都是保留部分关键信息的同时隐藏敏感内容。

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

相关文章

js防抖和节流实现

js防抖和节流实现

防抖(Debounce)的实现 防抖的核心思想是在事件被触发后,延迟执行回调函数。如果在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口大小调整等场景。 function debounce…

js实现dh

js实现dh

JavaScript 实现 DH(Diffie-Hellman)密钥交换 Diffie-Hellman(DH)密钥交换是一种安全协议,允许双方在不安全的通信信道上建立一个共享密钥。以下是如何在 Jav…

js实现密码

js实现密码

密码强度验证 使用正则表达式验证密码强度是一种常见方法。以下代码检查密码是否包含大小写字母、数字和特殊字符,且长度至少为8位: function checkPasswordStrength(pass…

js实现定位

js实现定位

使用Geolocation API获取当前位置 在JavaScript中,可以通过浏览器内置的Geolocation API获取用户的地理位置信息。该API需要用户授权才能访问位置数据。 if (n…

js实现删除

js实现删除

使用 splice 方法删除数组元素 splice 方法可以删除数组中的元素,并返回被删除的元素。它接受两个参数:起始索引和要删除的元素数量。 const array = [1, 2, 3, 4…

js 实现全选

js 实现全选

实现全选功能的方法 使用 JavaScript 实现全选功能通常需要操作复选框(checkbox)的状态。以下是几种常见的实现方式。 通过 DOM 操作实现全选 // 获取全选复选框和子复选…