统一社会信用代码的正则表达式

统一社会信用代码
统一社会信用代码正则:/^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/;

function isSocialCode(socialCode) {
  const reg = /^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/;
  return reg.test(socialCode);
}

编码规则

统一社会信用代码由国家标准委发布。国家标准委发布了强制性国家标准《法人和其他组织统一社会信用代码编码规则》。该标准于2015年10月1日实施。
在《法人和其他组织统一社会信用代码编码规则》中明确指出,容易混淆的大写英文字母 “I、O、Z、S、V” 不得编入统一信用代码。
根据《法人和其他组织统一社会信用代码编码规则》第四项第一条的规定:规定统一社会信用代码由十八位的阿拉伯数字或大写英文字母(不使用I、O、Z、S、V)组成,包括第1位登记管理部门代码、第2位机构类别代码、第3位—第8位登记管理机关行政区划码、第9位—第17位主体标识码(组织机构代码)、第18位校验码五个部分。

第一部分(第1位):登记管理部门代码,使用阿拉伯数字或英文字母表示。例如,机构编制、民政、工商三个登记管理部门分别使用1、2、3表示,其他登记管理部门可使用相应阿拉伯数字或英文字母表示。

第二部分(第2位):机构类别代码,使用阿拉伯数字或英文字母表示。登记管理部门根据管理职能,确定在本部门登记的机构类别编码。例如,机构编制部门可用1表示机关单位,2表示事业单位,3表示由中央编办直接管理机构编制的群众团体;民政部门可用1表示社会团体,2表示民办非企业单位,3表示基金会;工商部门可用1表示企业,2表示个体工商户,3表示农民专业合作社。

第三部分(第3—8位):登记管理机关行政区划码,使用阿拉伯数字表示。例如,国家用100000,北京用110000,注册登记时由系统自动生成,体现法人和其他组织注册登记及其登记管理机关所在地,既满足登记管理部门按地区管理需求,也便于社会对注册登记主体所在区域进行识别。(参照《中华人民共和国行政区划代码》〔GB/T2260—2007〕)

第四部分(第9—17位):主体标识码(组织机构代码),使用阿拉伯数字或英文字母表示。(参照《全国组织机构代码编制规则》〔GB 11714—1997〕)

第五部分(第18位):校验码,使用阿拉伯数字或英文字母表示。

/**
   * 统一社会信用代码验证
   * @param {*} rule
   * @param {*} value
   * @param {*} callback
   */
  checkUnifiedSocialCreditCode(rule, value, callback) { /**统一社会信用代码 */
      const reg = /^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/;
      if (!value) {
        return callback();
      } else {
        if (!reg.test(value)) {
          return callback(new Error('请输入正确的统一社会信用代码'));
        } else {
          return callback();
        }
      }
    }
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值