统一社会信用代码是由18位数字和大写字母组成的代码,用于唯一识别企业、组织和个体工商户。以下是一个校验统一社会信用代码的 JavaScript 正则表达式及其解释:

^(?:(?:(?:(?:[1-9A-HJ-NPQRTUWXY])(?:(?:[0-9]{6})|(?:[0-9]{9})|(?:[0-9]{15})))|(?:(?:[1-5])(?:[0-9]{6})(?:[0123456789ABCDEFGHJKLMNPQRTUWXY])))(?:[0-9A-HJ-NPQRTUWXY])(?:[0-9ABCDEFGHJKLMNPQRTUWXY]))$

解释:

  • ^$:表示匹配的字符串必须从开头到结尾完全匹配。
  • (?:...):非捕获型分组,用于将一组字符封装起来。
  • (?:(?:[1-9A-HJ-NPQRTUWXY])...):表示代码的前17位中的第1位,必须是1-9或A-H、J-N、P、Q、R、T、U、W、X、Y这些字母中的一个。后面跟着的是6位、9位或15位数字。
  • (?:(?:[1-5])(?:[0-9]{6})(?:[0123456789ABCDEFGHJKLMNPQRTUWXY])):表示代码的前17位中的第1位,必须是1-5的数字,后面跟着的是6位数字和1位数字或字母。此格式仅适用于已注销的企业。
  • (?:[0-9A-HJ-NPQRTUWXY]):表示代码的第18位,必须是0-9或A-H、J-N、P、Q、R、T、U、W、X、Y这些字母中的一个。

综上所述,这个正则表达式可以用于检验一个字符串是否符合统一社会信用代码的规范


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

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