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);} }