统一社会信用代码是一组长度为18位的用于法人和其他组织身份识别的代码。其验证主要涉及到校验码的计算等方面。
一、基础概念
二、应用场景
三、JavaScript验证示例代码
function validateCreditCode(code) {
const weightFactors = [1, 3, 9, 27, 19, 26, 16, 17, 20, 29, 25, 13, 8, 24, 10, 30, 28];
const checkCodeMap = {
'0': 0,
'1': 1,
'2': 2,
'3': 3,
'4': 4,
'5': 5,
'6': 6,
'7': 7,
'8': 8,
'9': 9,
'X': 30
};
if (code.length!== 18) {
return false;
}
let sum = 0;
for (let i = 0; i < 17; i++) {
const digit = parseInt(code[i]);
if (isNaN(digit)) {
return false;
}
sum += digit * weightFactors[i];
}
const mod = sum % 31;
const expectedCheckCode = checkCodeMap[31 - mod];
const actualCheckCode = checkCodeMap[code[17]];
return expectedCheckCode === actualCheckCode;
}
在上述代码中:
weightFactors
和校验码映射对象checkCodeMap
。领取专属 10元无门槛券
手把手带您无忧上云