java效验身份证号

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

  

posted @ 2025-03-13 17:52  红尘沙漏  阅读(88)  评论(0)    收藏  举报