作者:bng7541071 | 来源:互联网 | 2018-07-16 04:11
屏蔽电话号码中间数字这个我们在一些购物网站常见到的手法了,下面我利用正则表达式来实现,具体原理我也不说多了大家都知道的,这里直接给例子。
函数
代码如下 |
|
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);
最后输出:www.111cn.net 139****8888
|
例子
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,' www.111Cn.net';
echo $phone1,' ';
结果输出:
138****8888
010-8****888
|