使用正则表达式匹配出所有的符合的字符串,并替换为[**]
var regx = /(1[3|4|5|7|8][\d]{9}|0[\d]{2,3}-[\d]{7,8}|400[-]?[\d]{3}[-]?[\d]{4})/g;
var str = "ka13213213211323213213213213213213213213213213213212ndsajkjksad113200102222sdas13500000000adsadsadsa";
var strresult = matchPhoneNum(str,regx);
console.log(strresult);
function matchPhoneNum(str,regx){
var phoneNums = str.match(regx);
for(var i= 0;i<phoneNums.length;i++){
//手机号全部替换
//str = str.replace(phoneNums[i],"[****]");
var temp = phoneNums[i]
//隐藏手机号中间4位(例如:12300102020,隐藏后为132****2020)
temp = temp.replace(/(\d{3})\d{4}(\d{4})/,'$1****$2');
console.log("temp:"+temp);
str = str.replace(phoneNums[i],temp);
}
return str;
};
//匹配到的电话号码
//["13213213211", "13213213213", "13213213213", "13213213212", "13200102222", "13500000000"]
//全部替换之后的结果
//ka[****]3232[****]2[****]2[****]ndsajkjksad1[****]sdas[****]adsadsadsa
//隐藏中间4位的结果
//ka132****32113232132****32132****32132132132****3212ndsajkjksad1132****2222sdas135****0000adsadsadsa