当前位置: 首页 > news >正文

前端脱敏展示姓名、手机号、邮箱

姓名脱敏

姓名只显示第一个字,如“张*”、“王**”

/*** 姓名脱敏:只显示第一个字,其余用 * 代替* @param {String} name 姓名字符串* @return {String} 脱敏后的姓名*/
function maskName(name) {if (!name || typeof name !== 'string') {return ''}// 如果姓名长度为0直接返回if (name.length === 0) return ''// 只保留第一个字符,其余替换成 *return name.charAt(0) + '*'.repeat(name.length - 1)
}

手机号脱敏

手机号展示前3位和后4位,中间用 * 替代,如“139****1234”

/*** 手机号脱敏:展示前3位和后4位,中间用 * 替代* @param {String} phone 手机号码字符串* @return {String} 脱敏后的手机号*/
function maskPhone(phone) {if (!phone || typeof phone !== 'string') {return ''}// 正则匹配:保留前3位和后4位,中间用 * 替代return phone.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2')
}

邮箱脱敏

邮箱只显示第一个字符、@及@后面的内容,中间用 * 替代,如“1****@163.com”

/*** 邮箱脱敏:只显示第一个字符、@及@后面的内容,中间用 * 替代* @param {String} email 邮箱地址* @return {String} 脱敏后的邮箱*/
function maskEmail(email) {if (!email || typeof email !== 'string') {return ''}// 正则解释:// ^(.)(.*?)(@.*)$ 分为三组://   1. 第一个字符 (.)//   2. 中间部分 (.*?) 非贪婪匹配//   3. @及后面的内容 (@.*)// 替换为:$1 + * * * ... + $3return email.replace(/^(.)(.*?)(@.*)$/, function(match, firstChar, middle, atPart) {// 如果中间部分为空(如 a@xx.com),则不脱敏if (middle.length === 0) {return match}// 用 * 填充中间部分const maskedMiddle = '*'.repeat(middle.length)return firstChar + maskedMiddle + atPart})
}

相关文章:

  • IDEA运行Tomcat出现乱码问题解决汇总
  • K-Means颜色变卦和渐变色
  • 微算法科技(NASDAQ:MLGO)基于信任的集成共识和灰狼优化(GWO)算法,搭建高信任水平的区块链网络
  • C# 使用正则表达式
  • 因泰立科技H1X激光雷达:因泰立科技为智慧工业注入新动力
  • 1.3 古典概型和几何概型
  • 第三方测试机构进行科技成果鉴定测试有什么价值
  • Java学习——正则表达式
  • 微信小程序- 用canvas生成排行榜
  • spark 执行 hive sql数据丢失
  • React---day10
  • Python使用clickhouse-local和MySQL表函数实现从MySQL到ClickHouse数据同步
  • [ElasticSearch] DSL查询
  • Flask音频处理:构建高效的Web音频应用指南
  • Ubuntu系统下交叉编译cJSON
  • curl获取ip定位信息 --- system(一)
  • Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
  • 基于 BGE 模型与 Flask 的智能问答系统开发实践
  • 大模型与 NLP、Transformer 架构
  • 动力电池点焊机:驱动电池焊接高效与可靠的核心力量|比斯特自动化
  • 国外做的比较的ppt网站有哪些/百度竞价是什么工作
  • 现在做网站怎么赚钱/百度平台客服电话
  • 昆山设计网站的公司/mac蜜桃923色号
  • 北京建设协会网站/市场营销毕业后做什么工作
  • 建设银行开县支行 网站/网站seo平台
  • 网站开发设计中的收获/提高网站排名软件