Java正则表达式判断身份证号的正确性
时间: 2023-12-05 21:05:11 浏览: 94
Java正则表达式可以用来判断身份证号的正确性。以下是一个示例代码,可以校验身份证号的合法性:
```java
public static boolean isIDCard(String idCard) {
String regex = "^\\d{17}[\\d|x|X]$";
if (!idCard.matches(regex)) {
return false;
}
int[] weight = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2};
String[] checkCode = {"1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"};
String id17 = idCard.substring(0, 17);
int sum = 0;
for (int i = 0; i < id17.length(); i++) {
sum += Integer.parseInt(String.valueOf(id17.charAt(i))) * weight[i];
}
int mod = sum % 11;
String last = idCard.substring(17);
return last.equalsIgnoreCase(checkCode[mod]);
}
```
该代码使用正则表达式判断身份证号是否符合规则,然后使用身份证号码校验算法计算校验码,最后判断校验码是否正确。
阅读全文
相关推荐














