企业统一信用代码正则校验

2024-09-28 11:17:14 18 Admin
嘉兴网站建设价格

 

企业统一信用代码由18位数字和字母组成,采用GB 32100-2015《法人和其他组织统一社会信用代码编码规则》制定的规则。根据规则,企业统一信用代码的构成为:前8位为组织机构代码,第9-17位为核准/注册号顺序码,第18位为校验位。

 

根据以上规则,我们可以使用正则表达式来对企业统一信用代码进行校验。下面是一个简单的正则表达式示例:

 

```python

import re

 

def validate_credit_code(credit_code):

if not re.match(r'^[0-9A-Z]{18}$'

credit_code):

return False

code = credit_code[:17]

weight = [1

3

9

27

19

26

16

17

20

29

25

13

8

24

10

30

28]

check_sum = sum([int(code[i]

36) * weight[i] for i in range(17)]) % 31

check_code = '0123456789ABCDEFGHJKLMNPQRTUWXY'

return check_code[check_sum] == credit_code[17]

 

print(validate_credit_code('913501007222335895')) # True

```

 

上面的代码使用了Python的re模块来匹配18位数字和大写字母组成的字符串。然后按照GB 32100-2015规则计算出校验位,*验证企业统一信用代码的*一位是否与计算出的校验位相符。

 

另外,还可以使用其他语言的正则表达式库来进行校验,例如Java的Pattern类、JavaScript的RegExp对象等。校验企业统一信用代码可以有效避免输入错误或恶意输入,保证数据的准确性和可靠性。

 

需要注意的是,正则表达式只能用来对企业统一信用代码的格式进行简单的检查,不能对实陵代码进行准确的合法性验证。因此,在实际开发中,还需要结合其他方法来进一步验证企业统一信用代码的有效性。

Copyright © 悉地网 2018-2024.All right reserved.Powered by XIDICMS 备案号:苏ICP备18070416号-1