中国公民身份证号码由18位数字组成,由前17位数字本体码和第18位数字校验码组成。
本体码中的第1-6位数字表示归属地区;第7-14位数字表示出生日期,如"19"表示"1900"年,"20"表示"2000"年;第15-17位数字表示顺序号。
校验码是根据前17位数字计算出来的,是用来保证身份证号码的正确性的。
下面是一个用于验证中国公民身份证号码的 JavaScript 正则表达式:
/^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
该正则表达式可以验证身份证号码的格式是否正确,但不能保证身份证号码是否真实有效。
使用方法:
var id = '123456123456781234'; // 身份证号码
if (id.match(/^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/)) {
console.log('身份证号码格式正确');
} else {
console.log('身份证号码格式不正确');
}
希望这个回答对你有帮助!