php实现手机号中间四位星号*显示的三种方法

发布时间:2019-11-05编辑:脚本学堂
php实现手机号码中间四位以星号显示的方法,在需要保护用户手机号码隐私的情况下,通常需要将手机号的中间几位用星号显示,这里分享了三种方法。

php编程中,用星号代替指定数字,通常用于手机在前面页面显示出来时要隐藏指定几位数字。

专题:php星号显示与隐藏内容

这里分享三种方法,php实现手机号中间四位(n位)用星号显示:
 

$mobile = '13912345678';

三种方法:
 

复制代码 代码示例:

//1.字符串截取
$newMobile1 = substr($mobile, 0, 5).'****'.substr($mobile, 9);
echo $newMobile1.'<br/>';
//2.替换字符串的子串
$newMobile2 = substr_replace($mobile, '****', 5, 4);
echo $newMobile2.'<br/>';
//3.用正则
$newMobile3 = preg_replace('/(d{5})d{4}(d{2})/', '$1****$2', $mobile);
echo $newMobile3;

//正则
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);
}
}

使用substr_replace截取与替换函数:
 

$num = "13966778888"
$str = substr_replace($num,'****',3,4);

例子:
 

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

输出:
139****8888