欢迎光临
我们一直在努力

JS匹配并且隐藏字符串中的电话号

使用正则表达式匹配出所有的符合的字符串,并替换为[**]

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
--------------------- 

未经允许不得转载:小罗同学 » JS匹配并且隐藏字符串中的电话号

分享到:更多 ()