PHP利用正则表达式实现手机号码中间4位用星号(*)替换显示
发布日期:2025-05-04 04:05:17 浏览次数:8 分类:精选文章

本文共 829 字,大约阅读时间需要 2 分钟。

手机号码隐藏技术实践方法

Method 1:基于固定电话号码格式的隐藏方法

该方法通过正则表达式匹配固定电话号码,实现隐藏中间部分号码。具体实现如下:

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);    }}

Method 2:直接字符串替换实现

该方法通过直接处理字符串,替换中间部分号码,实现快速隐藏。示例代码如下:

$num = "13966778888";$str = substr_replace($num, '****', 3, 4);// 最终输出:139****8888

选择方法的依据

  • Method 1:适用于需要根据电话号码类型自动判断隐藏规则的场景。
  • Method 2:适用于已知号码类型的简单隐藏操作,效率较高。

实现细节说明

  • Method 1:正则表达式用于精确匹配电话号码类型,支持固定电话和移动电话号码格式。
  • Method 2:substr_replace函数用于快速替换字符串中的特定字符,适合简单场景。

注意事项

  • 确保输入号码格式正确,避免正则表达式匹配失败。
  • Method 1支持带有分隔符的号码格式,默认不区分大小写。

这个方法可根据具体需求选择合适的实现方式,确保数据隐私保护同时保持功能可靠性。

上一篇:PHP加密与安全的最佳实践
下一篇:Springboot基于Redisson实现Redis分布式可重入锁【案例到源码分析】

发表评论

最新留言

很好
[***.229.124.182]2026年06月12日 06时02分30秒