php 手机加*星 【字符串】

场景:展示手机号时,避免暴露隐私信息,因此需要给手机号加*号

代码

php 复制代码
/**
 * 手机号码隐私加星
 * @param string $mobile 手机号
 */
function mobileToStar(string $mobile)
{   
    // 正则检测手机号
    if(!preg_match('/^1[3456789]\d{9}$/',$mobile)){
        // 手机格式错误
        return false;
    }
    // 粗暴法
    // $mobile[4] = "*";
    // $mobile[5] = "*";
    // $mobile[6] = "*";
    // $mobile[7] = "*";
    // return $mobile;
    
    // 截取替换法
    // $mobile_arr = str_split($mobile , 4); // 4个字符  1个字符串,切割 最后长度3
    // $mobile_arr[1] =  '****'; // 把中间4个用* 代替
    // return implode($mobile_arr);

    // 直接替换法
    // return substr_replace($mobile , '****' , 4,4);

    // 字符串截取法
    $start_str = substr($mobile , 0 , 4);// 从0位开始截取,取4个字符
    $in_str = str_pad('',4,'*'); // 设置 * 号
    $end_str = substr($mobile , 8 , 4); // 结束部分  从第8位开始截取,取4个
    return $start_str . $in_str. $end_str;
}

输出

php 复制代码
var_dump(mobileToStar('13112346458'));
// string(11) "1311****458"
相关推荐
_童年的回忆_几秒前
【php】在linux下PHP安装amqp扩展
linux·开发语言·php
郑洁文17 分钟前
基于Python的网络入侵检测系统
网络·python·php
zzqssliu1 小时前
taocarts 跨境独立站 SEO 优化实践(多语言 + 反向海淘场景)
java·javascript·php
夜月yeyue2 小时前
KCP 与 UDP 可靠传输
linux·网络·单片机·网络协议·udp·php
Kiling_07042 小时前
Java IO流:字节流实战与性能优化
java·开发语言·php
酉鬼女又兒4 小时前
零基础入门计算机网络:从基本概念到核心交换技术
开发语言·计算机网络·考研·职场和发展·php
tryqaaa_4 小时前
学习日志(五)【php反序列化全加例题】【pop链,字符逃逸,session,伪协议】
android·学习·php·web·pop·session
zgscwxd4 小时前
【Memurai】 Redis 缓存,引入 predis/predis 纯 PHP 库
php
BingoGo5 小时前
改变 PHP 未来的 RFC Polling API
后端·php
咕噜企业签名分发-淼淼6 小时前
浅谈云服务器在后端托管与签名分发场景中的应用价值
开发语言·php