php手机号中间几位替换星号实例

正则表达式方法

1、字符串中包含多个手机号码,代码如下:

  1. <?php
  2. $s='王经理:13999312365 李经理:13588958741';
  3. $s=preg_replace('#(d{3})d{5}(d{3})#', '${1}*****${2}', $s);
  4. echo $s;
  5. //王经理:139*****365 李经理:135*****741
  6. ?>

2、字符串中只有一个手机号码,代码如下:

  1. <?php
  2. $haoma="15012345678";
  3. echo preg_replace("/(d{3})d{5}/","$1*****",$haoma);
  4. //150*****678
  5. ?>

不用正则表达式实现

1、使用substr_replace字符串部分替换函数,代码如下:

  1. <?php
  2. $string1="13264309555";
  3. echo substr_replace($string1,'*****',3,5);
  4. //132*****555
  5. ?>

2、使用字符串截取函数substr,代码如下:

  1. <?php
  2. echo substr($string1,0,3)."*****".substr($string1,8,3);
  3. //132*****555
  4. ?>