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("陈小明");
相关推荐
符哥20081 分钟前
充电桩 WiFi 局域网配网(Android/Kotlin)流程、指令及实例说明文档
android·开发语言·kotlin
weixin_456321642 分钟前
Java架构设计:Redis持久化方案整合实战
java·开发语言·redis
Later5 分钟前
Apache Doris 深度讲解:从核心概念到实战项目
后端
攒了一袋星辰12 分钟前
SequenceGenerator高并发有序顺序号生成中间件 - 架构设计文档
java·后端·spring·中间件·架构·kafka·maven
码农刚子14 分钟前
字符串拼接用“+”还是 StringBuilder?别再凭感觉写了
后端·代码规范
2401_8795034115 分钟前
C++与FPGA协同设计
开发语言·c++·算法
茶杯梦轩27 分钟前
面试常问:DNS,CDN,Cookie,Session和Token详解及实战避坑指南
后端·网络协议·面试
Memory_荒年28 分钟前
TiDB 单机部署与监控完整指南
运维·数据库·后端
犯困的饭团34 分钟前
3_【自动化引擎Ansible Runner】深入功能模块 - 不止于 Playbook
后端
写Cpp的小黑黑35 分钟前
WHEP 拉流技术详解(基于一个 html/js demo)
后端