package cn.lili.utils; import cn.lili.common.utils.StringUtils; /** * lmk-shop-java * 工具 * * @author : zxl * @date : 2025-08-07 14:40 **/ public class CommonUtil { public static String maskName(String name) { if (StringUtils.isBlank(name)) { return ""; } // 规则:保留第一个字符,其余替换为 * return name.charAt(0) + StringUtils.repeat("*", name.length() - 1); } /** * 通用手机号脱敏:无论位数多少,均替换中间4位 * 示例: * - 13812345678 → 138****5678 * - 12345678 → 12****78 * - 12345 → 1****5 (不足4位时全部替换) */ public static String maskMobile(String mobile) { String digits = mobile.replaceAll("[^0-9]", ""); int length = digits.length(); // 2. 短号码直接隐藏 if (length <= 4) { return "****"; } // 3. 保留前2位和后2位,替换中间 return digits.replaceAll("(\\d{2})\\d+(\\d{2})", "$1****$2"); } }