• 统一代码的构成
    • 结构
    • 代码及说明
    • 统一社会信用代码来源字符与数值对应关系表
    • 统一社会信用代码相应顺序上对应的加权因子
    • 计算示例
  • js代码实现

统一社会信用代码:每一个法人和其他组织在全国范围内唯一的、终身不变的法定身份识别码。

法人:具有民事权利能力和民事行为能力,依法独立享有民事权利和承担民事义务的组织

请点击:统一社会信用代码查询地址

请点击:法人和其他组织统一社会信用代码编码规则

统一代码的构成

结构

统一代码由十八位的阿拉伯数字或大写英文字母(不使用I、O、Z、S、V)组成,包括第1位登记管理部门代码、第2位机构类别代码、第3位~第8位登记管理机关行政区划码、第9位~第17位主体标识码(组织机构代码)、第18位校验码五个部分。具体表示形式见下表。

代码及说明

第1位:登记管理部门代码
登记管理部门代码使用阿拉伯数字或大写英文字母表示。

第2位:机构类别代码
机构类别代码使用阿拉伯数字或大写英文字母表示。

第3位~第8位:登记管理机关行政区划码
共六位阿拉伯数字。

第9位~第17位:主体标识码(组织机构代码)
主体标识码使用阿拉伯数字或大写英文字母表示。

第18位:校验码

当MOD函数值为1(即C18=30)时,校验码应用符号Y表示;当MOD函数值为0(即C18=31)时,校验码用0表示。

统一社会信用代码来源字符与数值对应关系表

统一社会信用代码相应顺序上对应的加权因子

计算示例

js代码实现

/*** 验证统一社会信用代码* @param { string } code 统一社会信用代码* @returns {*   isPass, // 验证是否通过,默认通过,为true,否则为false*   errorMessage, // 错误信息,isPass为true则为''* }* */
export function checkSocialCreditCode(code) {let isPass = true // 是否验证通过,默认通过,为truelet errorMessage = '' // 错误信息const reg = /^\w\w\d{6}\w{9}\w$/ // 18位及正则校验// 空值直接返回falseif (!code) {isPass = falseerrorMessage = '请输入所属企业的社会统一信用代码!'} else if (code.length !== 18 || !reg.test(code)) {isPass = falseerrorMessage = '不是有效的统一社会信用代码!'} else {const codeOrigin = '0123456789ABCDEFGHJKLMNPQRTUWXY'; // 统一社会信用代码可用字符 不含I、O、S、V、Zconst weightedfactors = [1, 3, 9, 27, 19, 26, 16, 17, 20, 29, 25, 13, 8, 24, 10, 30, 28]; // 统一社会信用代码相对应顺序的加权因子let ci; // 统一社会信用代码相应顺序的值let wi; // 统一社会信用代码相应顺序的加权因子let total = 0; // 计算结果// 数值与加权因子相乘之和for (let i = 0; i < code.length - 1; i++) {ci = codeOrigin.indexOf(code[i]);wi = weightedfactors[i];total += ci * wi;}// 最后一位校验let logicCheckCode = 31 - (total % 31);if (logicCheckCode === 31) logicCheckCode = 0;logicCheckCode = codeOrigin[logicCheckCode];if (logicCheckCode !== code.slice(17)) {isPass = falseerrorMessage = '不是有效的统一社会信用代码!'}}return {isPass,errorMessage,}
}

JS校验统一社会信用代码的真实性相关推荐

  1. JS实现统一社会信用代码的效验(组织机构代码效验)

    参考原文https://blog.csdn.net/hdhxby/article/details/56015370 部分错误,修改整合了下 想查询数据的,请点击:统一信用代码查询地址 查看效验规则点击 ...

  2. java、正则表达式、php校验“统一社会信用代码”

    java import java.util.HashMap; import java.util.Map; /** * Desc: 社会信用代码证 检验 * Created  2016/5/18. */ ...

  3. 前端校验统一社会信用代码

    统一社会信用代码规则 由18位的阿拉伯数字或大写英文字母(不使用I.O.Z.S.V)组成: 第1位~第2位.第9位~第18位 [0-9A-HJ-NP-RT-UW-Y] 第3位~第8位,由阿拉伯数字表示 ...

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

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

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

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

  6. ASP.NET 中验证的自定义返回和统一社会信用代码的内置验证实现

    目录 项目演示 创建项目 创建用户注册信息接收类 创建测试 Controller 执行测试 统一错误返回 自定义验证规则 验证规则介绍 编码实现 最后 References 本文介绍 ASP.NET ...

  7. JAVA生成统一社会信用代码和组织机构代码

    统一社会信用代码规则如下: 代码如下: 引入jar包下载:https://mvnrepository.com/artifact/cn.hutool/hutool-all/5.8.3 package c ...

  8. 统一社会信用代码的编码格式以及js正则校验

    统一社会信用代码 统一社会信用代码正则:/^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/ // 返回值为true或false functio ...

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

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

最新文章

  1. 原来颓废也是需要力气的
  2. BZOJ 2288 贪心 +链表
  3. sh256sum、xxd、base64联合计算文件的hash
  4. 安全还是效率? 移动化的两难抉择
  5. LW_OOPC介绍(转载)
  6. Html 返回顶部代码及注释说明
  7. 2021 Top5 免费录屏软件
  8. 毕业设计管理系统Part4:教师上传课题,修改课题,删除课题
  9. js中函数的传递参数
  10. DNS域名解析服务介绍
  11. 验证码自动识别平台与打码平台的区别
  12. 英语每日阅读---8、VOA慢速英语(翻译+字幕+讲解):脸肓症患者记不住别人的脸
  13. Day134-136.尚品汇:平台属性接口、SPU、跨域问题、配置持久化、MinIO 分布式文件存储系统
  14. Windows安装ADB驱动
  15. ARM Cortex-M3内核结构
  16. Javascript函数内静态变量与实例变量
  17. TIN的构建、Delaunay三角网、Voronoi图
  18. mybatis嵌套查询
  19. 【python】pandas库pd.DataFrame.corr、numpy库np.corrcoef求解相关系数
  20. linux 快速删除大文件夹

热门文章

  1. IOS 代码修改故事版中的自动布局参数
  2. 基于感应器的智能求救系统----以android为例实现
  3. java面向对象小知识
  4. python re库,Python中的Re库简要总结
  5. (转)五大常用算法:分治、动态规划、贪心、回溯和分支界定
  6. fatal: the remote end hung up unexpectedly问题解决办法
  7. Ubuntu 9.10 如何安装rais环境
  8. 安装docker的可视化UI——Portainer
  9. 证券交易所--本方最优对手方最优的区别
  10. DevOps: Mountain Duck - 多网盘挂载本地工具