public class IdCardUtil {
public static boolean verify(String idcard) {
int[] intArr = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 };
int sum = 0;
for (int i = 0; i < intArr.length; i++) {
sum += Character.digit(idcard.charAt(i), 10) * intArr[i];
}
int mod = sum % 11;
int[] intArr2 = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int[] intArr3 = { 1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2 };
String matchDigit = "";
for (int i = 0; i < intArr2.length; i++) {
int j = intArr2[i];
if (j == mod) {
matchDigit = String.valueOf(intArr3[i]);
if (intArr3[i] > 57) {
matchDigit = String.valueOf((char) intArr3[i]);
}
}
}
if (matchDigit.equals(idcard.substring(idcard.length() - 1))) {
return true;
} else {
return false;
}
}
public static boolean verify(String idcard) {
int[] intArr = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 };
int sum = 0;
for (int i = 0; i < intArr.length; i++) {
sum += Character.digit(idcard.charAt(i), 10) * intArr[i];
}
int mod = sum % 11;
int[] intArr2 = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int[] intArr3 = { 1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2 };
String matchDigit = "";
for (int i = 0; i < intArr2.length; i++) {
int j = intArr2[i];
if (j == mod) {
matchDigit = String.valueOf(intArr3[i]);
if (intArr3[i] > 57) {
matchDigit = String.valueOf((char) intArr3[i]);
}
}
}
if (matchDigit.equals(idcard.substring(idcard.length() - 1))) {
return true;
} else {
return false;
}
}