校验身份证号码正确性
发布于: | 一条评论 | 分类:JavaScript
JavaScript
const checkId = (idNum: string) => {
// 基本正则校验
const regExp = /^([1-68][1-9]|50)\d{4}(18|19|20)\d{2}((0[1-9])|1[0-2])(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
if (!regExp.test(idNum)) return false
// 校验码校验
const checkNumber = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
let checkResultTmp = 0
const idArr = idNum.split('')
checkNumber.forEach((n, i) => {
checkResultTmp += n * (Number(idArr[i]) || 0)
})
const checkCode = ["1", "0", "x", "9", "8", "7", "6", "5", "4", "3", "2"][checkResultTmp % 11]
return checkCode === idArr[17].toLowerCase()
}
标签:
订阅评论
登录
1 评论
最新