aiaiask.com©

开花即结果 提问即答案

java中正则校验15位或18位身份证号
原始问题:

java中正则校验15位或18位身份证号

要使用Java正则表达式校验15位或18位身份证号,可以使用以下代码:

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class IDCardValidator {
    public static void main(String[] args) {
        String idCard1 = "123456789012345";
        String idCard2 = "123456789012345678";
        
        System.out.println("身份证号 " + idCard1 + " 是否有效: " + isValidIDCard(idCard1));
        System.out.println("身份证号 " + idCard2 + " 是否有效: " + isValidIDCard(idCard2));
    }
    
    public static boolean isValidIDCard(String idCard) {
        String regex = "^(\\d{15}$|^\\d{18}$|^\\d{17}(\\d|X|x))$";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(idCard);
        return matcher.matches();
    }
}

这段代码首先定义了一个名为isValidIDCard的方法,该方法接受一个字符串参数idCard,并使用正则表达式^(\\d{15}$|^\\d{18}$|^\\d{17}(\\d|X|x))$来匹配15位、18位或17位加一位数字或大写字母的身份证号。如果匹配成功,返回true,否则返回false

java中正则校验15位或18位身份证号
AI / 模型DeepSeek
时间 / DATEOctober 31, 2023, 2:50 PM
语言zh-CN
IP / 区域江苏 南京