问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

统一社会信用代码校验规则详解

创作时间:
作者:
@小白创作中心

统一社会信用代码校验规则详解

引用
CSDN
1.
https://blog.csdn.net/qq_45414633/article/details/109334171

统一社会信用代码是中国为每个社会组织发放的唯一、终身不变的主题标识代码,由18位数字或大写英文字母组成。本文详细介绍了统一社会信用代码的构成规则、校验码计算方法,并提供了实际计算示例和正则表达式匹配规则。

统一社会信用代码的构成

社会组织统一社会信用代码是为每个社会组织发放一个唯一的、终身不变的主题标识代码,并以其为载体采集、查询、共享、比对各类主体信用信息,设计为18位。如图:

统一代码的具体赋码规则如下:

  • 第一部分(第1位):登记管理部门代码。暂按国务院序列规则,5表示民政部门。
  • 第二部分(第2位):机构类别代码。“1”表示社会团体、“2”表示民办非企业单位、“3”表示基金会、“9”表示其他。
  • 第三部分(第3-8位):登记管理机关行政区划码,参照GB/T 2260中华人民共和国行政区划代码标准。(登记机关所在地的行政区划)。
  • 第四部分(第9-17位):主体标识码(组织机构代码),其中第17位为主体标识码(组织机构代码)的校验码。第17位校验码算法规则按照《全国组织机构代码编制规则》(国标GB11714—1997)计算。
  • 第五部分(第18位):统一社会信用代码的校验码。第18位校验码算法规则按照《GB -2015 法人及其他组织统一社会信用代码编制规则》计算。

参照标准:

《GB_32100-2015_法人和其他组织统一社会信用代码编码规则.》

按照编码规则:

统一代码为18位,统一代码由十八位的数字或大写英文字母(不适用I、O、Z、S、V)组成,由五个部分组成:

  • 第一部分(第1位)为登记管理部门代码,9表示工商部门;(数字或大写英文字母)
  • 第二部分(第2位)为机构类别代码;(数字或大写英文字母)
  • 第三部分(第3-8位)为登记管理机关行政区划码;(数字)
  • 第四部分(第9-17位)为全国组织机构代码;(数字或大写英文字母)
  • 第五部分(第18位)为校验码(数字或大写英文字母)

代码字符集对应顺序为:字符0-9对应数字0-9,字母A-Z中去掉I、O、S、V、Z后剩下的20个依次对应数字10-30

根据《GB 32100-2015 法人和其他组织统一社会信用代码编码规则》,第18位校验算法如下:

式中:MOD(n,m)——表示整数求余函数,例如:函数MOD(31,31)的值为0;i  ——表示统一社会信用代码字符从左到右的位置序号;iC——表示统一社会信用代码第i位置上的代码字符的值,字符对应的值见下表A。18C——表示校验码;iW——表示第i位上的加权因子,iW = MOD()1-(i3,31),加权因子见表2. 校验码计算方法实例输入的统一社会信用代码为91350100M000100Y4Z,校验代码唯一性计算步骤如下:

第一步:列出代码前17位字符位置序号i相对应的各个位置上的字符值iC

第二步:列出与字符位置序号i相对应的加权因子值iW

第三步:计算与字符位置序号i相对应的乘积iC×iW

第四步:计算级数之和= 1640 

第五步:计算整数求余函数MOD。 级数之和1640模31余28,即MOD(1640,31)值为28 

第六步:求出校验码字符值。 18C=31- MOD(1640,31)=31-28=3 

第七步:查出校验码字符。 校验码字符值18对应的字符为3。 

第八步:比较原始代码最后一位的字符与校验码字符 原始第十八位字符为“Z”,而计算出的校验码字符为“3”,与校验码不相等,则该“91350100M000100Y4Z”统一社会信用代码格式不正确。 若与校验码相等,则原始统一社会信用代码格式正确

正则匹配:

export const SocialcreditVerify = /[1-9A-GY]{1}[1239]{1}[1-5]{1}[0-9]{5}[0-9A-Z]{10}/
// 测试存在问题,推荐使用下面的
export const SocialcreditVerify = /^[^_IOZSVa-z\W]{2}\d{6}[^_IOZSVa-z\W]{10}$/g
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号