From a58a007809dd7d2dfd2152539aa2bd452f321660 Mon Sep 17 00:00:00 2001 From: lianlonggang Date: Thu, 22 Jan 2026 18:52:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E7=96=86=E7=9F=AD=E4=BF=A1=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E4=B8=AD=E6=89=8B=E6=9C=BA=E5=8F=B7=E7=A0=81=E5=A4=84?= =?UTF-8?q?=E7=90=86=EF=BC=8C=E9=81=BF=E5=85=8D=E5=90=AB=E6=AD=A3=E5=B8=B8?= =?UTF-8?q?=E6=89=8B=E6=9C=BA=E5=8F=B7=E7=9A=84=E7=9F=AD=E4=BF=A1=E5=8F=91?= =?UTF-8?q?=E4=B8=8D=E5=87=BA=E5=8E=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/jeecg/util/XjCommonUtil.java | 29 ++++++++++++++----- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/util/XjCommonUtil.java b/jeecg-boot-base-core/src/main/java/org/jeecg/util/XjCommonUtil.java index e944ac6..694c82a 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/util/XjCommonUtil.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/util/XjCommonUtil.java @@ -11,17 +11,32 @@ public class XjCommonUtil { * @return {@link String } */ public static String handleMobile(String mobile) { - if(StrUtil.isBlank(mobile)){ + if (StrUtil.isBlank(mobile)) { return ""; } - // 判空或长度不足3位,直接返回原值 - if (mobile.length() < 3) { + + // 如果长度 <= 4,无需分割 + if (mobile.length() <= 4) { return mobile; } - return mobile.substring(0, 3) + "_" + mobile.substring(3); + + StringBuilder result = new StringBuilder(); + int len = mobile.length(); + + // 从后往前,每4位处理一次 + for (int i = len; i > 0; i -= 4) { + int start = Math.max(0, i - 4); + String segment = mobile.substring(start, i); + if (result.length() > 0) { + result.insert(0, "~"); + } + result.insert(0, segment); + } + + return result.toString(); } - public static void main(String[] args) { - System.out.println(handleMobile("13812345678")); - } +// public static void main(String[] args) { +// System.out.println(handleMobile("13812345678")); +// } }