JS校验统一社会信用代码的真实性
- 统一代码的构成
- 结构
- 代码及说明
- 统一社会信用代码来源字符与数值对应关系表
- 统一社会信用代码相应顺序上对应的加权因子
- 计算示例
- 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校验统一社会信用代码的真实性相关推荐
- JS实现统一社会信用代码的效验(组织机构代码效验)
参考原文https://blog.csdn.net/hdhxby/article/details/56015370 部分错误,修改整合了下 想查询数据的,请点击:统一信用代码查询地址 查看效验规则点击 ...
- java、正则表达式、php校验“统一社会信用代码”
java import java.util.HashMap; import java.util.Map; /** * Desc: 社会信用代码证 检验 * Created 2016/5/18. */ ...
- 前端校验统一社会信用代码
统一社会信用代码规则 由18位的阿拉伯数字或大写英文字母(不使用I.O.Z.S.V)组成: 第1位~第2位.第9位~第18位 [0-9A-HJ-NP-RT-UW-Y] 第3位~第8位,由阿拉伯数字表示 ...
- Python实现统一社会信用代码校验(GB32100-2015)
Python实现统一社会信用代码校验 统一社会信用代码国标校验 统一社会信用代码国标校验规则 示例说明 Python代码实现(仅实现GB- 32100-2015中的规则) 统一社会信用代码国标校验 ...
- 身份证号与统一社会信用代码的校验
身份证号与统一社会信用代码的表单校验 一.校验身份证号 <el-form ref="form" :model="form" :rules="ru ...
- ASP.NET 中验证的自定义返回和统一社会信用代码的内置验证实现
目录 项目演示 创建项目 创建用户注册信息接收类 创建测试 Controller 执行测试 统一错误返回 自定义验证规则 验证规则介绍 编码实现 最后 References 本文介绍 ASP.NET ...
- JAVA生成统一社会信用代码和组织机构代码
统一社会信用代码规则如下: 代码如下: 引入jar包下载:https://mvnrepository.com/artifact/cn.hutool/hutool-all/5.8.3 package c ...
- 统一社会信用代码的编码格式以及js正则校验
统一社会信用代码 统一社会信用代码正则:/^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/ // 返回值为true或false functio ...
- JAVA 身份证校验与统一社会信用代码校验
B话少说,上代码 原理默认大家都懂了,不懂的话可以百度一下 package com.microlinktech.rns.util;import lombok.Getter; import lombok ...
最新文章
- 原来颓废也是需要力气的
- BZOJ 2288 贪心 +链表
- sh256sum、xxd、base64联合计算文件的hash
- 安全还是效率? 移动化的两难抉择
- LW_OOPC介绍(转载)
- Html 返回顶部代码及注释说明
- 2021 Top5 免费录屏软件
- 毕业设计管理系统Part4:教师上传课题,修改课题,删除课题
- js中函数的传递参数
- DNS域名解析服务介绍
- 验证码自动识别平台与打码平台的区别
- 英语每日阅读---8、VOA慢速英语(翻译+字幕+讲解):脸肓症患者记不住别人的脸
- Day134-136.尚品汇:平台属性接口、SPU、跨域问题、配置持久化、MinIO 分布式文件存储系统
- Windows安装ADB驱动
- ARM Cortex-M3内核结构
- Javascript函数内静态变量与实例变量
- TIN的构建、Delaunay三角网、Voronoi图
- mybatis嵌套查询
- 【python】pandas库pd.DataFrame.corr、numpy库np.corrcoef求解相关系数
- linux 快速删除大文件夹