正则替换当如是

给出11位手机号码,为了隐秘,将中间四位隐藏掉,替换为符号*

请注意,本文编写于 202 天前,最后修改于 202 天前,其中某些信息可能已经过时。

在日常的业务使用中,我们经常遇到替换字符亦或者是明文加密的方式,这时候使用正则表达式,仿佛就是一种极大的便利。

我首先讲述下今天我遇到的使用场景:

给出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 不可在生产环境中如此使用。

添加新评论