JS 使用正则表达式 验证是否为身份证号 2023年版本
以下是一个验证身份证号的正则表达式,适用于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 著作权归作者所有。请勿转载和采集!