java身份证校验工具类
时间: 2024-05-25 08:09:13 浏览: 139
Java身份证校验工具类是用来校验中国居民身份证号码的合法性。校验工具类通常会实现两种方法:一种是根据身份证号码计算出校验码并与身份证号码中的校验码进行比较,以此判断身份证号码是否合法;另一种是根据身份证号码中的年月日等信息来进行判断。
以下是一个Java身份证校验工具类的示例代码:
```
public class IDCardUtil {
/**
* 校验身份证号码的合法性
* @param idCard 身份证号码
* @return true:合法,false:不合法
*/
public static boolean isValid(String idCard) {
if (idCard == null || idCard.length() != 18) {
return false;
}
// 校验身份证号码中的前17位是否为数字
for (int i = 0; i < 17; i++) {
char c = idCard.charAt(i);
if (c < '0' || c > '9') {
return false;
}
}
// 计算校验码
int sum = 0;
for (int i = 0; i < 17; i++) {
int num = idCard.charAt(i) - '0';
sum += num * Math.pow(2, 17 - i);
}
int mod = sum % 11;
String checkCode = "10X98765432".substring(mod, mod + 1);
// 判断校验码是否正确
return checkCode.equals(idCard.substring(17));
}
}
```
阅读全文