java使用正则表达式验证身份证号有效性:

代码:

    private static final String ID_CARD_PATTERN = "^[1-9]\\d{5}(19|20)\\d{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2]\\d|3[0-1])|(04|06|09|11)(0[1-9]|[1-2]\\d|30)|02(0[1-9]|[1-2]\\d))\\d{3}[\\dXx]$";

    public static boolean isValid(String idCard) {
        return Pattern.matches(ID_CARD_PATTERN, idCard);
    }
    
    public static void main(String[] args) {
        System.out.println(isValid("131126190101010101"));
    }
    

提示:该正则表达式只能判断身份证号格式是否正确。如果要验证身份证号是否真实存在,还需要结合公安部门的身份证号数据库进行查询验证。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐