>
主要是网上错误的代码太多,为了避免大家踩坑,特此更正,详细规则如下:
https://zh.wikisource.org/zh-hans/GB_32100-2015_法人和其他组织统一社会信用代码编码规则
private 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<&在哪里gt;();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_COD电子版E_ARRAY) { BASE_CODES.add(c); }}/** * 是否是有效的统一社会信用代码 * * @param socia信息lCreditCode 统一社会信用代码 * @ret全国urn */public static boolean isValidSocialCreditCode(String socialCreditCode) { if (StringUtils.isBlank(socia在哪里lCreditCode) || !Pattern.matches(BASE_COD查询E_R代码EGEX, socialCreditCode)) { r电子版eturn false; } char[] businessCodeArray = socialCreditCode.toCharArray(); char check = bus查inessCodeArray[17]; int sum = 0; for (int i = 0; i < 17; i ) { 信息char key = 证businessCodeArray[i]; sum = (BASE_CODES.i全国ndexOf(key) * WEIGHT[i]); } int value = 31 - sum % 31; return check == BASE_COD组织机构E_ARRAY[value % 31]证;}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至123456@qq.com 举报,一经查实,本站将立刻删除。