You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PHP实现点击显示完整手机号,默认隐藏后6位?

实现点击显示完整手机号(默认隐藏最后6位)

核心需求拆解

  • 默认状态:隐藏手机号最后6位,用*替代
  • 交互逻辑:点击后切换显示完整手机号
  • 兼容不同长度的手机号(包括长度≤6的情况)

完整实现代码

<?php
$number = epa_member('mobile_number'); // 获取会员手机号
$fullNumber = htmlspecialchars($number); // 转义特殊字符,避免XSS风险
$length = strlen($number);
$hiddenNumber = '';

// 根据号码长度处理隐藏逻辑
if ($length > 6) {
    // 长度大于6时,显示前(总长度-6)位 + 6个*
    $visiblePart = substr($number, 0, $length - 6);
    $hiddenNumber = $visiblePart . '******';
} else {
    // 长度≤6时,默认显示完整号码;若需要隐藏全部,可替换为 str_repeat('*', $length)
    $hiddenNumber = $number;
}
?>

<!-- 前端交互部分 -->
<span class="phone-toggle" data-full="<?php echo $fullNumber; ?>">
    <?php echo $hiddenNumber; ?>
</span>

<script>
// 点击切换显示状态
document.querySelectorAll('.phone-toggle').forEach(el => {
    el.addEventListener('click', function() {
        if (this.dataset.isFull === 'true') {
            // 当前显示完整号码,切换回隐藏状态
            this.textContent = '<?php echo $hiddenNumber; ?>';
            this.dataset.isFull = 'false';
        } else {
            // 当前显示隐藏状态,切换为完整号码
            this.textContent = this.dataset.full;
            this.dataset.isFull = 'true';
        }
    });
});
</script>

代码说明

  1. PHP处理逻辑
    • 先转义手机号特殊字符,避免前端注入风险
    • 分支处理不同长度的号码:
      • 长度>6:截取前半部分,拼接6个*作为默认显示内容
      • 长度≤6:默认显示完整号码(可根据需求改为全隐藏)
  2. 前端交互逻辑
    • 用data-full属性存储完整手机号,避免直接暴露在页面初始内容中
    • 通过dataset.isFull标记当前显示状态,点击时切换内容

替换原有代码

直接将你提供的PHP代码块替换为上述完整代码即可,无需额外依赖。

内容的提问来源于stack exchange,提问作者gwmbox

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 02:32:33