当前位置:首页 > JavaScript

js实现电话号码脱敏

2026-01-31 07:34:07JavaScript

电话号码脱敏的实现方法

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

js实现电话号码脱敏

使用正则表达式替换

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实现轮播图

js实现轮播图

基础轮播图实现 使用HTML、CSS和JavaScript实现一个简单的自动轮播图。HTML结构包含一个容器和多个图片项。 <div class="slider"> <div…

js实现授权

js实现授权

授权流程设计 授权流程通常涉及前端与后端的交互,常见方案包括OAuth2.0、JWT等。以JWT为例的典型流程: 用户提交凭证(如用户名密码)到认证服务 服务端验证通过后生成包含用户信息的J…

js实现投球

js实现投球

实现投球动画的基本思路 使用JavaScript和CSS动画结合的方式模拟投球效果。核心是通过改变元素的位置、旋转和缩放属性,配合定时器或CSS过渡实现平滑动画。 创建基础HTML结构 <…

链表实现js

链表实现js

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和一个指向下一个节点的指针(单向链表)或两个指针(双向链表)。与数组不同,链表在内存中非连续存储,插入和删除操作更高效,但随机…

js验证码的实现

js验证码的实现

验证码的基本实现原理 验证码(CAPTCHA)的核心目标是区分人类用户和自动化程序。JavaScript可用于生成或验证客户端验证码,但需注意纯前端验证可能被绕过,通常需结合后端验证。 纯前端验证码…

js实现 拖动

js实现 拖动

实现拖动的步骤 HTML 结构 创建一个可拖动的元素和一个放置区域: <div id="draggable" draggable="true">拖动我</div> <d…