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("陈小明");
相关推荐
蓝银草同学7 小时前
新手指南:快速理清独立仓库 Java 8 多模块项目依赖并运行
前端·后端
聆风吟º7 小时前
深入理解C语言 isupper 函数详解:判断字符是否为大写字母
c语言·开发语言·库函数·字符处理·isupper
蓝银草同学8 小时前
前端转 Java,第一篇看懂 pom.xml:Maven 依赖管理从入门到不懵
前端·后端
代码小书生8 小时前
time,一个时间操作的 Python 库!
开发语言·python·microsoft
IT策士8 小时前
Django 从 0 到 1 打造完整电商平台:收货地址管理
后端·python·django
HjhIron8 小时前
从三件套到模块化:前端开发的底层思维
前端·后端
C+-C资深大佬8 小时前
在C++中,const和#define有什么区别?
开发语言·c++
前端市界8 小时前
在阿里云 Docker 中管理 MySQL 8.0:常用命令与 Docker Compose 最佳实践
后端
咖啡八杯8 小时前
微信小程序人脸认证1.0迁移2.0
后端·微信小程序
甘露s8 小时前
JWT Token 机制设计演进:从单 Token 到企业级认证体系
后端·http·web