php 替换手机号码中间4位
时间: 2023-05-09 16:01:51 浏览: 71
在 PHP 中替换手机号码中间 4 位可以通过字符串替换函数 str_replace() 或正则表达式函数 preg_replace() 来实现。
使用 str_replace() 函数需要将手机号码分为前3位和后4位两个部分,然后用 * 替换中间四位,最后将两个部分拼接在一起。示例代码如下:
```
$phone_num = '13812345678'; // 要替换的手机号码
$pre = substr($phone_num, 0, 3); // 前3位
$suf = substr($phone_num, 7, 4); // 后4位
$mid = '****'; // 中间4位用 * 替换
$new_phone_num = $pre . $mid . $suf;
echo $new_phone_num; // 输出:138****5678
```
使用 preg_replace() 函数可以直接匹配中间四位,然后用 * 替换。示例代码如下:
```
$phone_num = '13812345678'; // 要替换的手机号码
$new_phone_num = preg_replace('/(?<=\d{3})\d{4}(?=\d{4})/', '****', $phone_num);
echo $new_phone_num; // 输出:138****5678
```
正则表达式 `/(?<=\d{3})\d{4}(?=\d{4})/` 中,`(?<=\d{3})` 表示要匹配的数字前面必须是 3 个数字,`(?=\d{4})` 表示要匹配的数字后面必须是 4 个数字。因此,这个正则表达式可以精确匹配手机号码中间四位。