以下是一个验证身份证号的正则表达式,适用于2023年版本的身份证号:

const regex = /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])\d{3}[0-9X]$/;

解释:

  • ^[1-9]\d{5}:以非零数字开头,后面跟着5个数字。
  • (19|20)\d{2}:匹配19或20,后面跟着2个数字,表示身份证号码的年份。
  • (0[1-9]|1[012]):匹配01到12之间的数字,表示身份证号码的月份。
  • (0[1-9]|[12][0-9]|3[01]):匹配01到31之间的数字,表示身份证号码的日期。
  • \d{3}:匹配3个数字,表示身份证号码的顺序码。
  • [0-9X]$:匹配数字0到9或字母X,表示身份证号码的校验码。

使用示例:

const idCard = '110101199001011234'; // 身份证号码
const regex = /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])\d{3}[0-9X]$/;
if (regex.test(idCard)) {
  console.log('是有效的身份证号码');
} else {
  console.log('不是有效的身份证号码');
}
``

原文地址: https://www.cveoy.top/t/topic/deks 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录