// 组织机构代码校验
checkOrgCardNumber(value) {
if (value == "") {
return false
} else if (value.length != 10) {
return false
} else {
// var patrn = /^[0-9A-Z]+$/;
var reg = /[0-9A-HJ-NPQRTUWXY]{8}-[0-9A-HJ-NPQRTUWXY]/;
if (reg.test(value) == false) {
return false
} else {
var regLast = /^[0-9X]+$/;
var lastnum = value.substring(9, 10);
if (regLast.test(lastnum) == false) {
// alert("组织统一社会信用代码最后一位只可为数字或大写拉丁字母:X");
// callback(
// new Error("组织统一社会信用代码最后一位只可为数字或大写拉丁字母 X")
// );
return false
} else {
let value1=value;
let value2=value;
let newValue=value1.substring(0,8)+value2.substring(9,10)
var ancode;
var ancodeWeightValue;
var sum = 0;
var weightedArray = [3, 7, 9, 10, 5, 8, 4, 2]; //加权因子
var str = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
for (var i = 0; i < newValue.length - 1; i++) {
ancode = newValue.substring(i, i + 1);
ancodeWeightValue = str.indexOf(ancode);
sum = sum + ancodeWeightValue * weightedArray[i];
}
var rightLastnum = 11 - (sum % 11);
if (rightLastnum == 10) rightLastnum = "X";
if (rightLastnum == 11) rightLastnum = "0";
if (lastnum != rightLastnum) {
return false
} else {
return true
}
}
}
}
},
05-12
3937
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
01-11
2万+
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)