php函数 输出一手机号中间五位用星号代替 怎么写啊

用函数来实现

  

  网站展示用户隐私数据的时候,需要安全处理。比如:对手机号码中间五位或多位进行*号替换。PHP常用处理的方式有两种,一种是用substr进行截取,然后拼接*号;另一种是使用正则替换。示例代码如下:

//index.php

<?php 
header("Content-type:text/html;charset=utf-8;");
//测试
//纯手机号码
$phone="10021012110";
echo phoneSafeDeal($phone);
echo "<br/>";
$phoneStr="联系方式:10021012110";
echo phoneSafeDeal($phoneStr,true);
/**
 * 手机号码安全处理(中间五位用*代替)
 * 
 * @param String $phone
 * @param boolean $string
 */
function phoneSafeDeal($phone,$flag=false){
    //字符串中包含手机号码替换
    if($flag){
        return preg_replace('/(\d{3})\d{5}(\d{3})/', '${1}*****${2}', $phone);
    }else{
        //纯手机号码处理
        return substr($phone,0,3)."*****".substr($phone,8,3);
    }
}

运行结果:


温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-04-02
好像我不久前回个这个帖子的,是某位老师布置的作业吗~

希望下面的代码可以对你有所启发,使用正则表达式替换:

<?php
$s='孙悟空:13996312365 猪八戒:13578958741';
$s=preg_replace('#(\d{3})\d{5}(\d{3})#', '${1}*****${2}', $s);
echo $s;
?>
第2个回答  2015-10-28

一个比较简单的参考程序如下:

function suohao($phone){
$p = substr($phone,0,3)."*****".substr($phone,8,3);
return $p;
}

第3个回答  2009-04-03
用一楼的代码最少,值得一用。
不过如果你实在不了解,就使用strlen含数,substr含数,并结合for循环可以完成,你可以查找一下strlen,substr这两个含数的作用应当就能大概明白了。
由于代码太多,就没有写下来,请见谅。
第4个回答  2009-04-04
function suohao($phone){
$p = substr($phone,0,3)."*****".substr($phone,8,3);
return $p;
}本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网