PHP隐藏手机号码、银行卡号、真实姓名部分方法

1、隐藏手机号码,隐藏手机号中间部分

php 复制代码
/**
 * 隐藏手机号码
 * @param int $mobile 手机号码
 * @param int $head 头部显示数
 * @param int $tail 尾部显示数
 * @param string $hide_str 隐藏字符串
 * @return string
 */
function getHiddenMobile($mobile, $head = 3, $tail = 4, $hide_str = '****') {
    $hide = mb_strlen($hide_str, 'utf-8');
    return preg_replace("/(\d{{$head}})\d{{$hide}}(\d{{$tail}})/", "$1{$hide_str}$2", $mobile);
}
echo getHiddenMobile("13588888888");

2、 隐藏银行卡号,只显示尾号方法

php 复制代码
/**
 * 隐藏银行卡号
 * @param int $card_no 银行卡号
 * @param int $tail 尾部显示数
 * @param string $hide_str 隐藏字符串
 * @return string
 */
function getBankCardNo($card_no, $tail = 4, $hide_str = ' **** **** **** ') {
    return $hide_str . substr($card_no, -$tail, $tail);
}
echo getBankCardNo("667731591283");

3、 隐藏真实姓名中间部分

php 复制代码
/**
 * 隐藏真实姓名
 * @param string $name 真实姓名
 * @return string
 */
function getHideRealName($name) {
    $length = mb_strlen($name, 'utf-8');
    if ($length == 2) {
        $hide_str = mb_substr($name, 0, 1, 'utf-8') . '*';
    } elseif ($length >= 3) {
        $hide_str = mb_substr($name, 0, 1, 'utf-8') . '*' . mb_substr($name, -1, 1, 'utf-8');
    } else {
        $hide_str = $name;
    }
    return $hide_str;
}

echo getHideRealName("陈小明");
相关推荐
“AI国潮设计-小江”5 分钟前
【SDXL实战】Python自动化生成3D潮汕美食IP,附ComfyUI工作流与商用变现思路
开发语言·人工智能·python·prompt·aigc
AINative软件工程9 分钟前
LLM 应用的 Bulkhead 隔离工程实践:用舰壁模式防止一个功能的过载拖左整个 AI 系统
后端·llm·ai编程
此生决int26 分钟前
深入理解C++系列(19)——C++11(上)
开发语言·c++
szephyr32 分钟前
消息队列入门:RabbitMQ 和 Kafka 到底怎么选,什么时候不该用
后端·架构·kafka·消息队列·rabbitmq
郝学胜-神的一滴39 分钟前
C++20模板元编程 05:吃透变参模板,解锁编译期万能参数能力
服务器·开发语言·c++·windows·vscode
上进小菜猪8 小时前
把 KES 集群交给 Kubernetes 的九十天:一个 DBA 的试用实录
后端
两点王爷9 小时前
PostgreSQL 常用 SQL 语句与 GIS 相关函数详解
数据库·后端
考虑考虑9 小时前
Springboot环境变量占位符语法
spring boot·后端·spring
C++ 老炮儿的技术栈10 小时前
我们在设计tcp协议时,要传一个字符串过去,报文:头十长度十内容,是否要把‘\0‘也填入,长度是否包含‘\0‘
开发语言·数据结构·c++·mfc·c
传奇开心果编程11 小时前
【Rust入门练中学】第2课:变量、可变性与常量
开发语言·学习·rust