欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP利用正则表达式实现手机号码中间4位用星号(*)替换显示功能

程序员文章站 2022-06-06 19:13:13
因为需要为客户保持隐私,所以手机号码不能完全显示在网站上,但是又不能不显示,所以就很多网站想到了显示但是不完整显示,在上面用星号替换部分显示,其实做到这个很简单,用正则替换...

因为需要为客户保持隐私,所以手机号码不能完全显示在网站上,但是又不能不显示,所以就很多网站想到了显示但是不完整显示,在上面用星号替换部分显示,其实做到这个很简单,用正则替换显示其中的一部分即可。

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 = "13966778888"
$str = substr_replace($num,'****',3,4);

实例: 

$phonenum = "13966778888";
echo hidtel($phonenum); 

最后输出:139****8888

总结

以上所述是小编给大家介绍的php利用正则表达式实现手机号码中间4位用星号(*)替换显示,希望对大家有所帮助