实现全国组织机构代码校验
生活随笔
收集整理的這篇文章主要介紹了
实现全国组织机构代码校验
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
全國組織機構(gòu)代碼的基本組成:由8位數(shù)字(或大寫字母)和1位數(shù)字(或大寫字母)組成;如下圖
全國組織機構(gòu)代碼詳情:全國組織機構(gòu)代碼編碼規(guī)則
校驗代碼的實現(xiàn)如下:
/*** Desc: 全國組織機構(gòu)代碼 校驗* Created 2016/6/6.*/ public class Regex_OrganizationCertificate {private static String str1 = "D2143569-X";// 測試private static String str2 = "74371976-1";// 測試private static String str3 = "L1832212-3";// 測試private static String isOrganizationCertificate = "true";private static String error_OrganizationCertificate ="輸入的機構(gòu)代碼錯誤,請核對后再輸!";private static String error_OrganizationCertificate_num ="輸入的機構(gòu)代碼位數(shù)不對,請核對后再輸!";/*** 加權因子*/private static int power[] = {3,7,9,10,5,8,4,2};public static void main(String[] args) {String temp = str2;System.out.println(temp);isOrganizationCertificate(temp);}/*** 判斷機構(gòu)代碼是不是有效的* @param organizationCertificate* @return*/public static String isOrganizationCertificate(String organizationCertificate) {String temp = organizationCertificate.toUpperCase();if (temp.contains("-")) {temp = temp.replace("-", "");System.out.println(temp);}if(temp.length()!=9){System.out.println(error_OrganizationCertificate_num);return error_OrganizationCertificate_num;}// 獲取前面8位String pre8 = temp.substring(0,8);char[] pre8chars = pre8.toCharArray();// 0~z;// 獲取校驗碼String code = temp.substring(8,9);boolean isCode = isCode(code,sum(pre8chars));System.out.println(isCode?isOrganizationCertificate:error_OrganizationCertificate);return isCode?isOrganizationCertificate:error_OrganizationCertificate;}/*** 求和* @param bit* @return*/private static int sum(char[] bit){int sum = 0;for(int i=0;i<bit.length;i++){int intTemp = bit[i]>'9'?(bit[i]-'A'+10):Integer.parseInt(bit[i]+"");System.out.print(" "+intTemp);sum +=intTemp*power[i];}System.out.println();System.out.println(sum);return sum;}/*** 判斷機構(gòu)代碼的校驗碼和計算出的校驗碼是否一致* @param a* @param b* @return*/private static boolean isCode(String a,int b){String codeTEmp = (11- b%11)==10?"X":(11- b%11)==11?0+"":(11- b%11)+"";System.out.println(codeTEmp);return a.equals(codeTEmp);}}總結(jié)
以上是生活随笔為你收集整理的实现全国组织机构代码校验的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 单片机8位抢答器实训机电报告_6位抢答器
- 下一篇: java进行文档类型转换PDF