18位身份证需要验证最后一位校验位

mac2022-06-30  66

//18位身份证需要验证最后一位校验位            value = value.split('');            //∑(ai×Wi)(mod 11)            //加权因子            var factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];            //校验位            var parity = [1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2];            var sum = 0;            var ai = 0;            var wi = 0;            for (var i = 0; i < 17; i++) {                ai = value[i];                wi = factor[i];                sum += ai * wi;            }            var last = parity[sum % 11];            if (parity[sum % 11] != value[17]) {                this.showErrMsg(sender, "无效的身份证号,请重新输入!");                return false;            }

转载于:https://www.cnblogs.com/xiaoQ0725/p/8875713.html

最新回复(0)