统一信用代码校验正则
时间: 2024-06-11 09:02:27 浏览: 20
统一社会信用代码(Unified Social Credit Identifier,简称USCI或社会信用代码)是中华人民共和国依法赋予企业、机关、事业单位、社会团体等组织机构的唯一、全国唯一的法定标识符号。统一社会信用代码由18位数字或大写字母组成,前17位为组织机构代码和工商营业执照上的注册号,最后1位是校验码。
校验规则如下:
1. 第1位到第17位为组织机构代码和工商营业执照上的注册号,可以使用数字0-9和大写字母A-Z,不包括I、O、S、V和Z。
2. 第18位为校验码,可以使用数字0-9和大写字母A-Y,不包括I、O和U。计算校验码的公式为:将前17位数字分别乘以对应的加权因子(从左到右依次为1、3、9、27、19、26、16、17、20、29、25、13、8、24、10、30、28),然后将结果相加,将相加后的结果除以31,将余数转换成对应的校验码(0-9表示本身,10-21表示A-Y)。
以下是一个统一社会信用代码校验正则表达式:
^[1-9A-HJ-NPQY]{1}\d{16}[0-9A-Y]{1}$
相关问题
vue校验统一社会信用代码的正则表达式
下面是一个可以用于Vue.js的校验统一社会信用代码的正则表达式:
```javascript
/^[0-9A-Z]{18}$/
```
该正则表达式的意思是:输入的字符串必须由18个字符组成,其中既可以是数字(0-9),也可以是大写字母(A-Z)。
你可以在Vue.js的校验规则中使用这个正则表达式:
```javascript
export default {
data() {
return {
creditCode: ''
}
},
methods: {
validateCreditCode() {
if (!/^[0-9A-Z]{18}$/.test(this.creditCode)) {
alert('请输入正确的统一社会信用代码');
}
}
}
}
```
当用户输入的字符串不符合正则表达式的要求时,就会弹出一个提示框,提醒用户输入正确的统一社会信用代码。
Java正则校验统一社会信用代码
可以使用以下正则表达式来校验统一社会信用代码:
```java
public static boolean isValidSocialCreditCode(String code) {
String regex = "^[0-9A-Z]{18}$";
if (!code.matches(regex)) {
return false;
}
// 校验第 18 位
int[] weights = { 1, 3, 9, 27, 19, 26, 16, 17, 20, 29, 25, 13, 8, 24, 10, 30, 28 };
char[] chars = code.toCharArray();
int sum = 0;
for (int i = 0; i < weights.length; i++) {
char c = chars[i];
int num = 0;
if (c >= '0' && c <= '9') {
num = c - '0';
} else if (c >= 'A' && c <= 'Z') {
num = c - 'A' + 10;
}
sum += num * weights[i];
}
int remainder = sum % 31;
char checkCode = remainder == 0 ? '0' : (char) (31 - remainder + '0');
return checkCode == chars[17];
}
```
这个方法会先校验字符串长度和格式是否正确,然后再根据统一社会信用代码的规则校验第18位校验码是否正确。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)