原生JS实现手机号和银行卡号中间用星号显示:
银行卡号(前后各显示四位数字,中间不管多少位都显示8位,四位一空格):
var str = "11112222333444555";
var reg = /^(\d{4})\d+(\d{4})$/;
str = str.replace(reg, "$1 **** **** $2");
结果如下:
1111 **** **** 5888
银行卡(位数不确定,并且显示实际全部位数,显示后四位数字,其他星号代替,四位一个空格)
var str1 = "111177772209822";
var lastFour = str1.slice(-4);
var newArr = new Array(str1.length-3).join("*")+lastFour;
newArr=newArr.replace(/\s/g,'').replace(/(.{4})/g,"$1 ");
结果如下:
**** **** ***9 822
手机号:
var str = "15122223333";
var reg = /^(\d{3})\d+(\d{4})$/;
str = str.replace(reg, "$1 **** $2");
结果如下:
151 **** 3333