Java 正则 身份证脱敏 只留后四位
你可以使用正则表达式和Java代码来实现身份证号码的脱敏,只保留后四位。以下是一个示例代码:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String idCard = "123456789012345678";
String regex = "(\\d{15})(\\d{3}|\\d{2}[A-Za-z0-9])";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(idCard);
if (matcher.matches()) {
String maskedIdCard = matcher.replaceFirst("**** **** **** **** $2");
System.out.println(maskedIdCard);
} else {
System.out.println("Invalid ID card number");
}
}
}
在这个示例中,我们使用正则表达式 (\d{15})(\d{3}|\d{2}[A-Za-z0-9]) 来匹配身份证号码。其中,\d 表示数字,{n} 表示前面的元素重复 n 次。
然后,我们使用 replaceFirst() 方法将匹配到的身份证号码脱敏,只保留后四位,并使用 **** **** **** **** $2 替换原始的身份证号码。$2 表示正则表达式中的第二个捕获组,即后四位的部分。
最后,我们输出脱敏后的身份证号码。
请注意,这只是一个简单的示例代码,实际应用中可能需要根据具体需求进行修改。另外,身份证号码的规则可能会有一些变化,你可能需要根据实际情况来调整正则表达式
原文地址: https://www.cveoy.top/t/topic/hY3J 著作权归作者所有。请勿转载和采集!