Skip to content
qnnp

校验身份证号码正确性

发布于: | 一条评论 | 分类:

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()
}

标签:

0 0 投票数
文章评分
订阅评论
提醒
guest
1 评论
最新
最旧 最多投票
内联反馈
查看所有评论

1
0
希望看到您的想法,请您发表评论x