代码如下 function CHK_CNTRNO(value){let getNumber new Map();let num 10;// 生成字母与数字对照表for (let i 0; i 26; i) {let word String.fromCharCode((65 i));// 对应码取消了11的倍数比如112233所以我们要排除掉if (num 11 || num 22 || num 33) {num 1;}getNumber.set(word, num);num 1;}let sum 0;// 取四个字母对应的数字并进行计算for (let i 0; i 4; i) {sum getNumber.get(value[i]) * Math.pow(2, i);}// 对前6个数字进行计算for (let i 4; i 10; i) {sum value[i] * Math.pow(2, i);}console.log(sum);// 再对10取余是防止出现校验码为10的情况假如校验码为10则取0checkDigit sum % 11 % 10;// 判断校验码是否与最后一位数字相等if (checkDigit Number(value[10])) {console.log(‘校验通过’)return true;} else {console.log(‘校验失败’)return false;}}