因为需要为客户保持隐私,所以手机号码不能完全显示在网站上,但是又不能不显示,所以就很多网站想到了显示但是不完整显示,在上面用星号替换部分显示,其实做到这个很简单,用正则替换显示其中的一部分即可。
Method 1:
1
2
3
4
5
6
7
8
|
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:
1
2
|
$num = "13966778888" $str = substr_replace( $num , '****' ,3,4); |
实例:
1
2
|
$phonenum = "13966778888" ; echo hidtel( $phonenum ); |
最后输出:139****8888
总结
以上所述是小编给大家介绍的PHP利用正则表达式实现手机号码中间4位用星号(*)替换显示,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://www.daimabiji.com/mycode/190.html