当前位置
主页 > 新闻中心 > 公司新闻 >
全国组织机构统一社会信用代码校验 - Java 版
2023-05-21 10:56
本文摘要:主要是网上错误的代码太多,为了制止大家踩坑,特此更正,详细规则如下:https://zh.wikisource.org/zh-hans/GB_32100-2015_%E6%B3%95%E4%BA%BA%E5%92%8C%E5%85%B6%E4%BB%96%E7%BB%84%E7%BB%87%E7%BB%9F%E4%B8%80%E7%A4%BE%E4%BC%9A%E4%BF%A1%E7%94%A8%E4%BB%A3%E7%A0%81%E7%BC%96%E7%A0%81%E8%

万博体育

>主要是网上错误的代码太多,为了制止大家踩坑,特此更正,详细规则如下:https://zh.wikisource.org/zh-hans/GB_32100-2015_%E6%B3%95%E4%BA%BA%E5%92%8C%E5%85%B6%E4%BB%96%E7%BB%84%E7%BB%87%E7%BB%9F%E4%B8%80%E7%A4%BE%E4%BC%9A%E4%BF%A1%E7%94%A8%E4%BB%A3%E7%A0%81%E7%BC%96%E7%A0%81%E8%A7%84%E5%88%99private static final String BASE_CODE_STRING = "0123456789ABCDEFGHJKLMNPQRTUWXY";private static final char[] BASE_CODE_ARRAY = BASE_CODE_STRING.toCharArray();private static

万博体育

final List<Character> BASE_CODES = new ArrayList<>();private static final String BASE_CODE_REGEX = "[" + BASE_CODE_STRING + "]{18}";private static final int[] WEIGHT = {1, 3, 9, 27, 19, 26, 16, 17, 20, 29, 25, 13, 8, 24, 10, 30, 28};static { for (char c : BASE_CODE_ARRAY) { BASE_CODES.add(c); }}/** * 是否是有效的统一社会信用代码 * * @param socialCreditCode 统一社会信用代码 * @return */public static boolean isValidSocialCreditCode(String

万博体育app

socialCreditCode) { if (StringUtils.isBlank(socialCreditCode) || !Pattern.matches(BASE_CODE_REGEX, socialCreditCode)) { return false; } char[] businessCodeArray = socialCreditCode.toCharArray(); char check = businessCodeArray[17]; int sum = 0; for (int i = 0; i < 17; i++) { char key = businessCodeArray[i]; sum += (BASE_CODES.indexOf(key) * WEIGHT[i]); } int value = 31 - sum % 31; return check == BASE_CODE_ARRAY[value % 31]
本文关键词:全国,组织机构,统一,社会,信用,代码,校验,Java,万博体育

本文来源:万博体育-www.meilichayuan.com

联系方式

电话:0258-50389512

传真:0497-23570802

邮箱:admin@meilichayuan.com

地址:贵州省六盘水市桦甸市时德大楼82号