社会信用代码:由18位数字和大写的字母组成,第1位是登记管理部门代码,第2位是机构类别代码,第3~8位登记管理机关行政区划码,第9~17位主休标识码,第18位校验码。有五个部分组成。

具体详情请点击:统一社会信用代码编码规则

具体的实现代码如下:

import java.util.HashMap;
import java.util.Map;/*** Desc: 社会信用代码证 检验* Created  2016/5/18.*/
class Regex_CreditCode {static String creditCode = "91350100M000100Y43";// 测试static String isCreditCode = "true";static String error_CreditCode = "社会信用代码有误";static String error_CreditCode_min = "社会信用代码不足18位,请核对后再输!";static String error_CreditCode_max = "社会信用代码大于18位,请核对后再输!";static String error_CreditCode_empty ="社会信用代码不能为空!";private static Map<String,Integer> datas = null;private static char[] pre17s;static int[] power = {1,3,9,27,19,26,16,17,20,29,25,13,8,24,10,30,28};// 社会统一信用代码不含(I、O、S、V、Z) 等字母static char[] code = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','J','K','L','M','N','P','Q','R','T','U','W','X','Y'};public  static  void main(String[] args){String temp = creditCode;System.out.println(temp);initDatas(code.length);pre17(temp);isCreditCode(temp);}/*** 判断是否是一个有效的社会信用代码* @param creditCode* @return*/static String isCreditCode(String creditCode){if("".equals(creditCode)||" ".equals(creditCode)){System.out.println(error_CreditCode_empty);return error_CreditCode_empty;}else if(creditCode.length()<18){System.out.println(error_CreditCode_min);return  error_CreditCode_min;}else if(creditCode.length()>18){System.out.println(error_CreditCode_max);return  error_CreditCode_max;}else{int sum =  sum(pre17s);int temp = sum%31;temp = temp==0?31:temp;//  谢谢 whhitli的帮助System.out.println(code[31-temp]+" "+(creditCode.substring(17,18).equals(code[31-temp]+"")?isCreditCode:error_CreditCode));return creditCode.substring(17,18).equals(code[31-temp]+"")?isCreditCode:error_CreditCode;}}/*** @param chars* @return*/private static int sum(char[] chars){int sum = 0;for(int i=0;i<chars.length;i++){int code = datas.get(chars[i]+"");sum+=power[i]*code;}return sum;}/*** 获取前17位字符* @param creditCode*/static  void  pre17(String creditCode){String pre17 = creditCode.substring(0,17);pre17s = pre17.toCharArray();}/*** 初始化数据* @param count*/static void  initDatas(int count){datas = new HashMap<>();for(int i=0;i<code.length;i++){datas.put(code[i]+"",i);}System.out.println();}
}

实现统一社会信用代码校验相关推荐

  1. Python实现统一社会信用代码校验(GB32100-2015)

    Python实现统一社会信用代码校验 统一社会信用代码国标校验 统一社会信用代码国标校验规则 示例说明 Python代码实现(仅实现GB- 32100-2015中的规则) 统一社会信用代码国标校验   ...

  2. 组织机构代码和统一社会信用代码校验规则以及java校验工具类

    组织机构代码 编码规则编辑 1.全国组织机构代码由八位数字(或大写拉丁字母)本体代码和一位数字(或大写拉丁字母)校验码组成. 本体代码采用系列(即分区段)顺序编码方法. 校验码按照以下公式计算: C9 ...

  3. 全网唯一正确身份证和社统一社会信用代码自定义表单校验器(身份证校验和社统一社会信用代码校验)

    话不多说,直入正题: 1.工具类: import * as moment from 'moment'; import {isUndefined} from 'util'; import {Abstra ...

  4. JAVA 身份证校验与统一社会信用代码校验

    B话少说,上代码 原理默认大家都懂了,不懂的话可以百度一下 package com.microlinktech.rns.util;import lombok.Getter; import lombok ...

  5. hive自定义函数实现组织机构代码、统一社会信用代码校验

    一.根据中华人民共和国国家标准全国组织机构代码(9位)编制规则实现规则校验 1.组织机构代码编码规则 1.1组织机构代码的组成 全国组织机构代码由八位数字(或大写拉丁字母)本体代码和一位数字(或大写拉 ...

  6. 身份证号码及统一社会信用代码校验

    /** * 身份证号码验证 * rule为form表单当前验证的filed对应的验证rule规则 * value为当前输入框返回值 * callback为回调函数,验证成功直接回调,验证失败回调函数返 ...

  7. 全国组织机构统一社会信用代码校验 - Java 版

    主要是网上错误的代码太多,为了避免大家踩坑,特此更正,详细规则如下: GB 32100-2015 法人和其他组织统一社会信用代码编码规则 private static final String BAS ...

  8. 使用Java校验【统一社会信用代码】真假

    统一社会信用代码校验规则: 定义一个方法判断统一社会信用代码真假: /*** 验证机构代码真假** @param orgCode 组织机构信用代码* @return 真返回true 假返回false* ...

  9. 身份证号与统一社会信用代码的校验

    身份证号与统一社会信用代码的表单校验 一.校验身份证号 <el-form ref="form" :model="form" :rules="ru ...

最新文章

  1. win10系统优化计算机,全面优化win10电脑系统详细教程 | 专业网吧维护
  2. 一文读懂深度学习模型近年来重要进展(附梳理图)
  3. 32位数型计算机什么意思,展示32位是什么意思
  4. winform 鼠标 静止时间_赢得电竞的奥秘,你需要一块好鼠标垫
  5. Apache的RewriteRule规则详细介绍
  6. [转载]基于Aaf的数据拆分
  7. 大型企业的特色服务【我身边的戴尔企业级解决方案】
  8. php 什么情况下加异常,PHP中的异常
  9. 企业级CentOS操作系统的磁盘分区
  10. mac osx终端命令大全
  11. MYSQL数据库SQL语句练习实验 EXERCISES. 1 SIMPLE COMMANDS
  12. 千兆以太网RJ45接口连线引脚定义
  13. python 物理引擎 摩擦力_python下的Box2d物理引擎的配置
  14. 首师大附中科创教育平台 我的刷题记录 3120 LJX的校园:入学典礼
  15. 一文总结 Shiro 实战教程
  16. MySQL数据完整性约束
  17. 选择时区,并全局更新选择时区所对应的时间
  18. C/C++利用gotoxy()函数改变光标位置的实现方法
  19. 丛林战争项目十之数据库查询
  20. ADC的基本工作原理

热门文章

  1. RedisTemplate that could not be found如何解决?
  2. ORA-15018: diskgroup cannot be created
  3. 用计算机核裂变模拟实验,SAS和蒙特卡罗模拟(1):开篇
  4. hadoop 文本统计一个字符的个数_hadoop统计单词个数 - 卡饭网
  5. AIIA开发者大会——百度·产业AI技术公开课
  6. lopa分析_LOPA分析:使能条件和修正因子在场景识别方法中的应用
  7. YDOOK: Sanic: Python request post请求 上传照片或文件 详细具体步骤 亲测可用!
  8. 面向对象分析与设计--遛狗玩
  9. 从零到一实现m3u8文件转成mp4文件
  10. 【Lua从青铜到王者基础篇】第十二篇:Lua错误处理