function isIdCardNo(value) {
// 匹配身份证号码的正则表达式
const reg = /^[1-9]\d{5}(19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9X]$/;
if (!reg.test(value)) return false;
// 计算校验码
const weightArr = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
const verifyCodeArr = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'];
let sum = 0;
for (let i = 0; i < 17; i++) {
sum += parseInt(value[i]) * weightArr[i];
}
const verifyCode = verifyCodeArr[sum % 11];
return verifyCode === value[17];
}
JS身份证正则表达式
最新推荐文章于 2024-08-07 20:30:21 发布