diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/processor/MaskProcessor.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/processor/MaskProcessor.java index a6b13019a6..353fb06a47 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/processor/MaskProcessor.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/processor/MaskProcessor.java @@ -152,7 +152,9 @@ public class MaskProcessor { return originString; } - return originString.replace(originString.substring(6), StrUtil.repeatByLength("*", length - 6)); + String maskStr = StrUtil.repeatByLength("*", length - 6); + + return originString.replaceAll("^(\\d{6})[a-zA-Z0-9]*$", new StringBuilder("$1").append(maskStr).toString()); } /** @@ -171,4 +173,11 @@ public class MaskProcessor { return originString.replaceAll("^(1\\d{2})\\d*(\\d{4})$", new StringBuilder("$1").append(maskStr).append("$2").toString()); } + + public static void main(String[] args) { + String[] idc = {"idCard"}; + String[] idct = {MaskResponse.MASK_TYPE_ID_CARD}; + String r = new MaskProcessor(idc, idct).maskString("333333333333333333", MaskResponse.MASK_TYPE_ID_CARD); + System.out.println(r); + } }