身份证正则校验440582199605036757,用js实现
时间: 2024-10-14 13:04:45 浏览: 24
身份证号码的校验通常会依据中国大陆的18位数字的规则,包括前六位代表地区、出生年月日以及最后一位校验码。JavaScript中可以使用正则表达式来进行简单的验证。对于您给出的示例“440582199605036757”,我们可以按照如下方式进行校验:
```javascript
function validateID(id) {
const regex = /^(\d{6})(19|20)\d{2}((0[1-9]|[12][0-9]|3[01]))(\d{4})$/;
if (!regex.test(id)) {
return false; // 非法格式
}
let sum = 0;
for (let i = 0; i < 17; i++) {
sum += parseInt(id.charAt(i), 10) * (i + 1);
}
let mod = sum % 11;
switch (mod) {
case 0:
checkCode = 10;
break;
default:
checkCode = 11 - mod;
}
return id.charAt(17) === String(checkCode); // 比较校验码是否一致
}
const id = '440582199605036757';
console.log(validateID(id)); // 输出校验结果
阅读全文