longz
2026-05-28 23fe797f9dded6d7ec9ecbcf760f764374dea8e0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package com.sinata.appointment.util;
 
/** 列表等场景手机号脱敏:保留前 3、后 4,中间 * */
public final class MobileMaskUtil {
 
    private MobileMaskUtil() {}
 
    public static String mask(String mobile) {
        if (mobile == null || mobile.isBlank()) {
            return "—";
        }
        String t = mobile.trim();
        int n = t.length();
        if (n <= 7) {
            return n <= 3 ? "***" : t.substring(0, Math.min(3, n)) + "*".repeat(Math.max(1, n - 3));
        }
        return t.substring(0, 3) + "*".repeat(n - 7) + t.substring(n - 4);
    }
}