【需求】
小程序,H5, PC的用户信息展示时需要对用户的电话号码进行加密处理,其中常见的做法是将中间四位数字变成 **** ,下边有四种办法
1. 正则表达式 【推荐】
let tel = '18000010001'
tel.replace(/(\d{3})\d{4}(\d{4})/, "$1****$2")
console.log(tel)
2. 利用数组splice,split,join方法
let tel = '18000010001';
let tempArray = tel.split(""); //将字符串拆分成数组
tempArray.splice(3,4,"****"); //从数组的第3个开始截取取4个数字,将其替换成'****'
let result=tempArray.join(""); //将剩余的数组项拼接成字符串得到隐藏的手机号
console.log(result);
3.利用字符串的substr方法
let tel = '18000010001';
var result = tel.substr(0,3) + "****" + tel.substr(7) // 截取字符串的前三项 + **** + 截取字符串的第七项之后的字符串
console.log(result); //打印拼接的电话号码
4. 利用字符串substring方法
var tel = '18000010001';
var result =tel.replace(tel.substring(3,7), "****") // 使用replace()方法,将电话号码中符合条件的部分替换成 ****,所谓的条件就是 tel.substring(3,7) 截取的中间四位字符串
console.log(result);