在日常的业务使用中,我们经常遇到替换字符亦或者是明文加密的方式,这时候使用正则表达式,仿佛就是一种极大的便利。
我首先讲述下今天我遇到的使用场景:
给出11位手机号码,为了隐秘,将中间四位隐藏掉,替换为符号*
给出编码:
function telHideCenter(val){
var reg = /^(\d{3})\d{4}(\d{4})$/;
val = val.replace(reg,"$1****$2");
return val;
}
这种方法,首先手写一个匹配手机号的表达式,经过字符串的replace方法,传送一个正则替换对象,
重点就是用括号括起来的部分,可以被【$1】和 【2】捕获到,就是上文中的(d{3})和(d{4})及手机号的前四位和后四位,中间再以*符号拼接,这串手机号就被替换完成了。
应当注意:前端接受的数据都是有可能被截获的,所以即使做了这种障眼法,也是有潜在的信息泄露的危险。这只是为了演示的demo 不可在生产环境中如此使用。