Java 正则表达式验证身份证号码合法性
以下是 Java 代码示例:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class IDCardValidation {
public static boolean validate(String idCard) {
String pattern = "\d{17}[\d|x]|\d{15}";
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(idCard);
return m.matches();
}
public static void main(String[] args) {
String idCard = "440982199510103135";
boolean result = validate(idCard);
System.out.println('ID Card validation result: ' + result);
}
}
解释:
String pattern = "\d{17}[\d|x]|\d{15}";正则表达式用于匹配身份证号码,其中\d表示数字,{17}表示前 17 位数字,[\d|x]表示第 18 位数字或字母 x,|表示或,\d{15}表示 15 位数字的身份证号码。Pattern p = Pattern.compile(pattern);使用 Pattern 类将正则表达式编译为模式。Matcher m = p.matcher(idCard);使用 Matcher 类将模式应用于身份证号码。return m.matches();如果身份证号码匹配模式,则返回 true,否则返回 false。
在上面的示例中,身份证号码为 440982199510103135,正则表达式将其匹配为合法的身份证号码,因此输出结果为 ID Card validation result: true。
原文地址: https://www.cveoy.top/t/topic/nSB8 著作权归作者所有。请勿转载和采集!