js企业信用代码校验
时间: 2023-09-01 12:02:44 浏览: 149
JS企业信用代码校验是用于验证中国企业信用代码的一种方法。企业信用代码是由18位数字和大写英文字母组成的唯一识别码,它包含着企业的基本信息和法定身份。
校验JS企业信用代码的方法是根据国家相关标准规定的算法进行校验。以下是简要的校验步骤:
1. 将企业信用代码的第17位分别乘以对应的权重,并将乘积相加。
2. 将计算得到的乘积除以11,取得余数。
3. 根据余数对应的校验码规则,验证第18位是否正确。
具体的校验码规则如下:
- 余数为0:校验码为1
- 余数为1:校验码为0
- 余数为2-10:校验码为11减去余数
通过以上步骤进行计算和校验,如果第18位校验码与算法计算得到的校验码一致,则说明该JS企业信用代码是有效的。
进行JS企业信用代码校验的目的是确保企业信用代码的准确性和合法性。这种校验方法可以防止错误或伪造代码的出现,提高了企业信用代码的可信度和可靠性。在实际应用中,我们可以使用编程语言如JavaScript来实现这个校验算法,以便快速验证信用代码的有效性。
相关问题
js 验证企业信用代码
企业信用代码也被称为统一社会信用代码,是中国企业用于标识自身身份的唯一编码。在进行企业信用代码的验证时,可以使用JavaScript来实现。
首先,我们需要了解企业信用代码的格式。企业信用代码由18位数字和字母组成,前6位为行政区划代码,接下来8位为组织机构代码,再接下来的1位为校验位,最后3位为注册序号。校验位的计算方法可以通过以下步骤实现:
1. 将企业信用代码中的前17位数字和字母分别乘以对应的权重,权重分别为(1,3,9,27,19,26,16,17,20,29,25,13,8,24,10,30,28)。
2. 将所得到的乘积相加,并对31取余数。
3. 将所得到的余数通过对照表映射为对应的校验位。
现在,我们使用JavaScript来验证企业信用代码:
```javascript
function validateCreditCode(creditCode) {
if (creditCode.length !== 18) {
return false;
}
const weights = [1, 3, 9, 27, 19, 26, 16, 17, 20, 29, 25, 13, 8, 24, 10, 30, 28];
const checkCodeTable = "0123456789ABCDEFGHJKLMNPQRTUWXY";
let sum = 0;
for (let i = 0; i < 17; i++) {
const char = creditCode.charAt(i);
const value = checkCodeTable.indexOf(char);
if (value === -1) {
return false;
}
sum += value * weights[i];
}
const remainder = sum % 31;
const checkCode = checkCodeTable.charAt(31 - remainder);
return creditCode.charAt(17) === checkCode;
}
// 示例用法
const creditCode = "123456789012345678";
const isValid = validateCreditCode(creditCode);
console.log(isValid); // 输出 false
```
以上是一个简单的JavaScript函数来验证企业信用代码的有效性。它首先检查代码的长度是否为18位,如果不是,则返回false。然后,它根据校验位的计算方法,计算出校验位,并将其与原代码中的校验位进行比较。如果两者相同,则返回true,否则返回false。
这个函数可以方便地在JavaScript中验证企业信用代码的有效性。
js统一社会信用代码最少是15位最大18位如何校验
对于统一社会信用代码的校验,可以使用以下方法:
1. 长度验证:代码长度为15位或18位。
2. 地址码验证:前6位代表组织机构代码,需要验证是否为有效的行政区划代码。
3. 统一社会信用代码中的数字、字母和特殊符号都有对应的权重因子,需要按照规则进行加权计算。
4. 校验码验证:通过加权计算得到的结果除以31,将余数转换为对应的校验码,和最后一位进行比对,如果相同则校验通过。
以下是一个简单的JavaScript函数,可以校验统一社会信用代码的有效性:
```javascript
function validateCreditCode(code) {
if (!/^[0-9A-Z]+$/.test(code) || (code.length !== 15 && code.length !== 18)) {
return false;
}
const codes = "0123456789ABCDEFGHJKLMNPQRTUWXY";
const weights = [1, 3, 9, 27, 19, 26, 16, 17, 20, 29, 25, 13, 8, 24, 10, 30, 28];
let sum = 0;
for (let i = 0; i < code.length - 1; i++) {
const index = codes.indexOf(code.charAt(i));
sum += index * weights[i];
}
const checkCode = (31 - sum % 31) === 31 ? "0" : codes.charAt(31 - sum % 31);
return code.charAt(code.length - 1) === checkCode;
}
```
这个函数会返回一个布尔值,表示输入的统一社会信用代码是否有效。
阅读全文