JS笔试题:识别手机号或邮箱并进行脱敏

题目:
 

function parse (str) {
  // TODO
}
console.log(parse(`我叫张三,学号20210101,我的手机号码是13800001234,我的邮箱是abA1_2-4b@qq.com,如对简历感兴趣欢迎邮件联系。`))
// 我叫张三,学号20210101,我的手机号码是 138****1234,我的邮箱是a***b@qq.com,如对简历感兴趣欢迎邮件联系。

脱敏:隐藏字符串中的部分个人敏感信息。

由题上打印的示例可知,首先要找到字符串中的手机号码,并将其第4位到第8位数字用星号代替,然后找到字符串中的邮箱,将@符号前面的字符除第1位和最后1位外的其他字符用星号代替。

- 手机号匹配规则:第1位数一定是1,第二位数是3-9,民用手机号中第二位是没有0-2的,其他号码段均已开放,从第3位到第11位可以是0-9之中的任何一位数。总长度固定为11位。

- 邮箱匹配规则:在第一段可以是大小写字母或数字或_.-符号,中间固定为@,第二段为大小写字母或数字加点再加小写字母。

解答:

function parse (str) {
  return str
      .replace(/1[3-9]\d{9}/g, (phone) => {
          return phone.replace(phone.substring(3, 7), '****')
      })
      .replace(/\w+([-|\.]\w
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值