php脱敏手机号,转:手机号脱敏
現在項目有需要對數據進行脫敏處理,要求保留前三位和最后四位,中間對用*處理。如18912341234脫敏處理之后應該變成189****1234。處理方法如下:
var str="18912341234"
var pat=/(\d{3})\d*(\d{4})/
var b=str.replace(pat,'$1****$2');
console.log(b)
這里用到了正則表達式的 $1,$2的方法.
理解
()就是起到一個分組作用,將匹配到的放到mathches集合中,$相當于集合名字,1-9就相當于索引,$1...$9相當于對應索引的值。注意下標是從1開始,表示第一個元素,不是從0開始。
題目1
如果將pat中所有的()都去掉,即:var pat=/\d{3}\d*\d{4}/會是什么結果呢?
var str="18912341234"
var pat=/\d{3}\d*\d{4}/
var b=str.replace(pat,'$1****$2');
console.log(b)
結果是
$1****$2
分析:
沒有括號之后,s1和s2匹配不到任何元素,所以就以字符串顯示出來。
題目2
如果pat中保留第一個括號,即:var pat=/(\d{3})\d*\d{4}/結果如何?
var str="18912341234"
var pat=/(\d{3})\d*\d{4}/
var b=str.replace(pat,'$1****$2');
console.log(b)
結果是
189****$2
分析
這里$1匹配到了189,所以$1輸出了189,而$2未匹配到任何內容,所以以字符串的形式輸出。
鏈接:https://www.jianshu.com/p/eb21d0212344
原作:louhangfei
總結
以上是生活随笔為你收集整理的php脱敏手机号,转:手机号脱敏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一元流量参数为null_汉中市政排污水流
- 下一篇: SI14T触摸按键芯片兼容替代TMS12