社会信用代码正则表达式详解及示例

社会信用代码由18位数字或大写字母(不包括'I'、'O'、'Z'、'S'、'V')组成。

代码结构:

  • 第1位:登记管理部门代码
    • 100000:国家工商总局(原国家工商行政管理总局)
    • 900000:全国其他登记管理部门
  • 第2位:机构类别代码
    • 1:机关法人
    • 2:事业法人
    • 3:企业法人
    • 4:社会团体法人
    • 5:民办非企业单位
    • 6:基金会法人
    • 7:农村集体经济组织法人
    • 8:有限合伙企业
    • 9:非公司特殊机构
    • A:农民专业合作社
    • B:个体工商户
    • C:外国企业常驻代表机构
    • D:其他组织机构
  • 第3-8位:登记管理机关行政区划码
  • 第9-17位:主体标识码,全国范围内唯一
  • 第18位:校验码,采用ISO 7064:1983, MOD 11-2校验字符计算方法得出。

正则表达式:

/^([1-9]\d{5}[1-9A-HJ-NP-Za-km-z]{9})$/

表达式解析:

  • ^: 表示字符串的开头
  • [1-9]: 表示数字1到9之间的任意一个数
  • \d: 表示任意一个数字
  • {5}: 表示前面的数字出现5次
  • [1-9A-HJ-NP-Za-km-z]: 表示数字1到9和大写字母A到H、J到N、P到Z以及小写字母a到z之间的任意一个字符
  • {9}: 表示前面的字符出现9次
  • $: 表示字符串的结尾
  • (): 表示提取出符合条件的字符串

使用示例:

const socialCreditCode = '100000130000000000';
const regex = /^([1-9]\d{5}[1-9A-HJ-NP-Za-km-z]{9})$/; // 定义正则表达式
const isValid = regex.test(socialCreditCode); // 验证社会信用代码是否合法

console.log(isValid); // true (合法)

注意:

该正则表达式仅用于验证社会信用代码的格式,不能保证代码的真实性。要验证代码的真实性,需要通过其他方式进行查询。

希望本文能够帮助你更好地理解社会信用代码的格式和正则表达式的使用。


原文地址: https://www.cveoy.top/t/topic/lH66 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录