java 正则表达式 身份证
时间: 2024-12-29 13:21:46 浏览: 67
### Java 中使用正则表达式验证身份证格式
在 Java 中可以通过 `Pattern` 和 `Matcher` 类来实现对身份证号码的有效性校验。对于中国居民身份证,其长度应为15位或18位数字,其中第十八位可能是数字或是大写字母 X 表示。
```java
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class IDValidator {
private static final String REGEX = "(^\\d{15}$)|(^\\d{17}(\\d|X|x)$)";
public static boolean isValidID(String idNumber) {
Pattern pattern = Pattern.compile(REGEX);
Matcher matcher = pattern.matcher(idNumber);
return matcher.find();
}
public static void main(String[] args){
System.out.println(isValidID("12345678901234")); // 输出 true 或 false 取决于输入是否合法
System.out.println(isValidID("123456789012345678"));
System.out.println(isValidID("12345678901234567X"));
}
}
```
上述代码定义了一个静态方法 `isValidID()` 来接收一个字符串参数并返回布尔值以指示该字符串是否匹配给定模式[^2]。这里使用的正则表达式 `(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)` 能够识别两种类型的身份证号:旧版的15位纯数字形式以及新版带有一位字母结尾的18位格式[^4]。
阅读全文
相关推荐
















