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("陈小明");
相关推荐
余生皆假期-几秒前
YuanHub 源码分析【一】FlashDB 初始化与项目应用
笔记·单片机·嵌入式硬件
AI进化营-智能译站1 分钟前
ROS2 C++开发系列13-运算符重载让ROS2消息处理更自然
java·开发语言·c++·ai
时空系3 分钟前
第6篇:数据容器——管理大量数据 Rust中文编程
开发语言·后端·rust
eLIN TECE10 分钟前
Go基础之环境搭建
开发语言·后端·golang
念何架构之路11 分钟前
Go反射应用技巧
开发语言·后端·golang
shjita12 分钟前
java根据键值对中值的大小进行排序的手法。
java·开发语言·servlet
司南-704931 分钟前
Dense结构下的 大模型系统架构研究
服务器·人工智能·后端
GISer_Jing31 分钟前
AI全栈转型_TS后端学习路线
前端·人工智能·后端·学习
Rabitebla31 分钟前
vector 的骨架:三根指针、模板陷阱与迭代器失效的第一现场
开发语言·数据结构·c++·算法
时空系32 分钟前
第7篇:功能——打造你的工具箱 Rust中文编程
开发语言·网络·rust