这是一个营业执照统一社会信用代码的简单校验类

public class RegisterNo{protected static ILog _log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);static string error_CreditCode = "社会信用代码有误";static string error_CreditCode_min = "社会信用代码不足18位,请核对后再输!";static string error_CreditCode_max = "社会信用代码大于18位,请核对后再输!";static string error_CreditCode_empty = "社会信用代码不能为空!";static int[] power = { 1, 3, 9, 27, 19, 26, 16, 17, 20, 29, 25, 13, 8, 24, 10, 30, 28 };private static char[] pre17s;private static Dictionary<string, int> datas = null;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' };/// <summary>/// 判断是否是一个有效的社会信用代码/// </summary>/// <param name="creditCode"></param>/// <param name="errMsg"></param>/// <returns></returns>public static bool IsCreditCode(string creditCode, out string errMsg){try{initDatas();pre17(creditCode);var flag = false;if ("".Equals(creditCode) || " ".Equals(creditCode)){errMsg = error_CreditCode_empty;}else if (creditCode.Length < 18){errMsg = error_CreditCode_min;}else if (creditCode.Length > 18){errMsg = error_CreditCode_max;}else{int sum = GetSum(pre17s);int temp = sum % 31;temp = temp == 0 ? 31 : temp;if (creditCode.Substring(17, 1).Equals(code[31 - temp].ToString())){flag = true;errMsg = "";}else{errMsg = error_CreditCode;}}return flag;}catch (Exception ex){errMsg = ex.Message;_log.Error(ex.Message, ex);return false;}}/*** @param chars* @return*/private static int GetSum(char[] chars){int sum = 0;for (int i = 0; i < chars.Length; i++){int code = datas[chars[i].ToString()];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(){datas = new Dictionary<string, int>();for (int i = 0; i < code.Length; i++){datas.Add(code[i] + "", i);}}}

营业执照统一社会信用代码校验相关推荐

  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. 实现统一社会信用代码校验

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

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

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

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

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

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

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

  9. java 统一社会信用代码营业执照 税号(18位)校验工具方法 可用

    网上相关的JS验证和JAVA验证还是有些的. 但是一部分存在String下标越界的bug,自己进行了一些修改后分享给大家. /*** 营业执照 统一社会信用代码(18位)* @param licens ...

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

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

最新文章

  1. MongoDB3.4安装及卸载
  2. 多个项目共享一个app.config 的解决办法 (转)
  3. .net core2.0下使用Identity改用dapper存储数据
  4. storm计数器(小白看懂系列)
  5. Java集合框架:ArrayList扩容机制解释
  6. 拼接大屏数据展示_八步教会你如何制作数据可视化大屏
  7. 10大免费FLV播放器下载[转]
  8. Xcode13 新建项目 Products 目录显示方法
  9. 科研卫星服务的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  10. html网页开发入门
  11. python 在set里随机选一个元素_阿博Python之路-详解Set数据类型
  12. Animation动画效果
  13. centos下将man改为中文
  14. 【职场思考】没听过的22条技术大牛的建议
  15. delphi 解析Json格式
  16. 基于Java web的旅游网站(源码+文档)
  17. 【听】国富论,市场经济学开山之作
  18. 股票接口自动下单怎么处理?
  19. QPush怎么集成到其他环境中 java...
  20. android照片美颜项目_MagicCamera: MagicCamera 是 Android 平台开源相机项目,具有包括实时美颜等40种实时滤镜,功能包括对图片进行磨皮/美白等后期处理...

热门文章

  1. 内核相关资源 开源/文档/社区/信息资源 1 http://www.kernel.org Linux...
  2. 生成订单:三个表(Products,Orders,OrderItem)
  3. 《少有人走的路:心智成熟的旅程》
  4. 【百度地图2.5D、3D在Vue项目中的使用】嵌入二维百度地图、三维百度地图、多种显示模式风格样式颜色的百度地图
  5. 流程管理——免费BPM软件
  6. 十个Win10使用小技巧,看看你知道哪些?
  7. 微信小程序的APPID问题
  8. Leetcode 1653. 使字符串平衡的最少删除次数
  9. Typora自定义主题
  10. 创建自己的WordPress主题的三种方法