import cn.hutool.core.util.ReUtil;
import cn.hutool.core.util.StrUtil;
public class IDCardValidator {
public static boolean isValidIDCard(String idCard) {
// 15位身份证号码的正则表达式
String regex15 = "^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$";
// 18位身份证号码的正则表达式
String regex18 = "^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}(\\d|X)$";
// 使用Hutool的ReUtil工具类进行匹配
if (ReUtil.isMatch(regex15, idCard) || ReUtil.isMatch(regex18, idCard)) {
return true;
} else {
return false;
}
}
public static void main(String[] args) {
String idCard = "123456789012345678"; // 示例身份证号,请替换为实际值进行测试
boolean isValid = isValidIDCard(idCard);
System.out.println("身份证号码有效: " + isValid);
}
}