集装箱号校验实现(js版)
2026/9/2 8:18:12 网站建设 项目流程

代码如下: 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的倍数,比如11,22,33,所以我们要排除掉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;}}

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询