校驗碼驗證工具
阿新 • • 發佈:2018-11-17
直接上程式碼
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; } }