校验码验证工具

直接上代码

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;
   }
}

猜你喜欢

转载自blog.csdn.net/qq_43072912/article/details/84138549
今日推荐