屏蔽電話號碼中間數字這個我們在一些購物網站常見到的手法了,下面我利用正則表達式來實現,具體原理我也不說多了大家都知道的,這里直接給例子.
函數代碼如下:
- function hidtel($phone){
- $IsWhat = preg_match('/(0[0-9]{2,3}[-]?[2-9][0-9]{6,7}[-]?[0-9]?)/i',$phone); //固定電話
- if($IsWhat == 1){
- return preg_replace('/(0[0-9]{2,3}[-]?[2-9])[0-9]{3,4}([0-9]{3}[-]?[0-9]?)/i','$1****$2',$phone);
- }else{
- return preg_replace('/(1[358]{1}[0-9])[0-9]{4}([0-9]{4})/i','$1****$2',$phone);
- }
- }
- //示例:
- $phonenum = "13966778888";
- echo hidtel($phonenum);
- //最后輸出:139****8888
例子L
1、屏蔽手機號碼中間段,代碼如下:
preg_replace('/(1[358]{1}[0-9])[0-9]{4}([0-9]{4})/i','$1****$2',$phone);
2、屏蔽固定電話中間段,代碼如下:
preg_replace('/(0[0-9]{2,3}[-]?[2-9])[0-9]{3,4}([0-9]{3}[-]?[0-9]?)/i','$1****$2',$phone);
例如如下代碼:
- $phone = '010-88888888-8';
- $phone1 = '13888888888';
- $phone = preg_replace('/(0[0-9]{2,3}[-]?[2-9])[0-9]{3,4}([0-9]{3}[-]?[0-9]?)/i','$1****$2',$phone);
- $phone1 = preg_replace('/(1[358]{1}[0-9])[0-9]{4}([0-9]{4})/i','$1****$2',$phone1);
- echo $phone,'<br>www.111Cn.net';
- echo $phone1,'<br>';
- //結果輸出:
- //138****8888
- //010-8****888
新聞熱點
疑難解答