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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值