身份证号码校验

JS代码如下

function validateIDNumber(idNumber) {
  // 判断身份证号码长度是否为18位
  if (idNumber.length !== 18) {
    return false;
  }

  // 加权因子
  var weightFactor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
  // 校验码
  var checkCode = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'];

  // 计算加权和
  var sum = 0;
  for (var i = 0; i < 17; i++) {
    sum += parseInt(idNumber[i]) * weightFactor[i];
  }

  // 计算校验码
  var mod = sum % 11;
  var lastCode = checkCode[mod];

  // 验证校验码
  if (lastCode === idNumber[17]) {
    return true;
  } else {
    return false;
  }
}

// 测试
var idNumber = "身份证号码"; // 替换为需要验证的身份证号码
console.log(validateIDNumber(idNumber));

 

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容