题目:
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