在JavaScript中,用于验证中国大陆身份证号码的正则表达式如下:
/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}(\d|X|x)$/
function validateIDCard(idCard) {
const regex = /^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}(\d|X|x)$/;
return regex.test(idCard);
}
// 测试
console.log(validateIDCard("11010519491231002X")); // true
console.log(validateIDCard("110105194912310021")); // false
^[1-9]\d{5}
:前6位是地区码,第一位不能为0。(18|19|20)\d{2}
:年份部分,1800-2099年。(0[1-9]|1[0-2])
:月份部分,01-12月。(0[1-9]|[12]\d|3[01])
:日期部分,01-31日。\d{3}
:顺序码,3位数字。(\d|X|x)$
:校验码,可以是数字或X/x。通过上述正则表达式和代码示例,可以有效地验证身份证号码的格式和校验位,确保数据的准确性。
领取专属 10元无门槛券
手把手带您无忧上云