本文操作环境:Windows7系统、PHP7.1、Dell G3电脑。
php怎么实现隐藏号码几位?
PHP隐藏电话号码/手机号码中间4位
function hidtel($phone)
{
//隐藏邮箱
if (strpos($phone, '@')) {
$email_array = explode("@", $phone);
$prevfix = (strlen($email_array[0]) < 4) ? "" : substr($phone, 0, 3); //邮箱前缀
$count = 0;
$str = preg_replace('/([\d\w+_-]{0,100})@/', '***@', $phone, -1, $count);
$rs = $prevfix . $str;
return $rs;
} else {
//隐藏联系方式中间4位
$Istelephone = preg_match('/(0[0-9]{2,3}[\-]?[2-9][0-9]{6,7}[\-]?[0-9]?)/i', $phone); //固定电话
if ($Istelephone) {
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[0-9]{1}[0-9])[0-9]{4}([0-9]{4})/i', '$1****$2', $phone);
}
}
}
public function useHidel()
{
$phone1 = $this->hidtel("010-57033050");
$phone2 = $this->hidtel("01057033050");
$mobil = $this->hidtel("13661226666");
$email = $this->hidtel("1963632356@qq.com");
return $phone1.'</br>'.$phone2.'</br>'.$mobil.'</br>'.$email;
}
效果:
//正则判断是否是邮箱、手机号和用户账号 登录时验证
$checkmail = '/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/';//是否邮箱
if(preg_match($checkmail,$userName)){
$type = 'email';
$value = $userName;
}elseif(preg_match("/^1[34578]\d{9}$/", $userName)){ //是否手机号
$type = 'mobile';
$value = $userName;
}else{
$type = 'user_name';
$value = $userName;
}
推荐学习:《PHP视频教程》
以上就是php怎么实现隐藏号码几位的详细内容,更多请关注编程界其它相关文章!