使用Java代码实现基于Luhn算法校验身份证号是否合法
时间: 2024-06-10 22:06:20 浏览: 153
JAVA身份证合法性校验
好的,这是一个技术问题,我可以回答你。以下是一个基于Java的实现代码:
```
public boolean checkID(String id) {
if (id.length() != 18) {
return false;
}
int sum = 0;
int factor = 1;
for (int i = 17; i >= 0; i--) {
int digit = Integer.parseInt(id.substring(i, i + 1));
sum += digit * factor;
factor = factor * 2 % 11;
}
int remainder = (12 - sum % 11) % 11;
char[] c = {'1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'};
return c[remainder] == id.charAt(17);
}
```
这段代码基于Luhn算法实现了对身份证号码的校验。
阅读全文