日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

实现全国组织机构代码校验

發布時間:2024/3/24 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 实现全国组织机构代码校验 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

全國組織機構代碼的基本組成:由8位數字(或大寫字母)和1位數字(或大寫字母)組成;如下圖


全國組織機構代碼詳情:全國組織機構代碼編碼規則

校驗代碼的實現如下:

/*** Desc: 全國組織機構代碼 校驗* 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 ="輸入的機構代碼錯誤,請核對后再輸!";private static String error_OrganizationCertificate_num ="輸入的機構代碼位數不對,請核對后再輸!";/*** 加權因子*/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);}/*** 判斷機構代碼是不是有效的* @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;}/*** 判斷機構代碼的校驗碼和計算出的校驗碼是否一致* @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);}}

總結

以上是生活随笔為你收集整理的实现全国组织机构代码校验的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。