直接上代码
package com.hzzf.framework.sms;
//校验码验证工具
public class IDcade {
/*public static void main(String[] args) {
IDcade idcade =new IDcade();
idcade.isIdCard("320131203231841005");
}*/
public boolean isIdCard(String arrIdCard) {
int sigma = 0;
Integer[] a = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2};
String[] w = {"1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"};
for (int i=0; i<17; i++) {
int ai = Integer.parseInt(arrIdCard.substring(i,i+1));
int wi = a[i];
sigma += ai * wi;
}
int number = sigma % 11;
String check_number = w[number];
//return check_number;
System.out.println(check_number);
if (!arrIdCard.substring(17).equals(check_number)) {
return false;
} else {
return true;
}
}
public String checkNumber(String arrIdCard) {
int sigma = 0;
Integer[] a = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2};
String[] w = {"1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"};
for (int i=0; i<17; i++) {
int ai = Integer.parseInt(arrIdCard.substring(i,i+1));
int wi = a[i];
sigma += ai * wi;
}
int number = sigma % 11;
String check_number = w[number];
return check_number;
}
public String checkNumberByMonitor(String arrIdCard) {
int sigma = 0;
Integer[] a = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2};
String[] w = {"1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"};
for (int i=0; i<16; i++) {
int ai = Integer.parseInt(arrIdCard.substring(i,i+1));
int wi = a[i];
sigma += ai * wi;
}
int number = sigma % 11;
String check_number = w[number];
return check_number;
}
}