因为需要为客户保持隐私,所以手机号码不能完全显示在网站上,但是又不能不显示,所以就很多网站想到了显示但是不完整显示,在上面用星号替换部分显示,其实做到这个很简单,用正则替换显示其中的一部分即可。
PHP利用正则表达式实现手机号码中间4位用星号替换显示功能,请看以下源码:
Method 1:
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);
}
}
Method 2:
$num = "13856789321"
$str = substr_replace($num,'****',3,4);
实例:
$phonenum = "13856789321";
echo hidtel($phonenum);
最后输出:138****9321
我整理开发了很多实用的PHP教程:https://www.sucaihuo.com/php
有兴趣的朋友可以看看