18位身份证号码各位的含义:
1-2: 省、自治区、直辖市代码;
3-4: 地级市、盟、自治州代码;
5-6: 位县、县级市、区代码;
7-14: 出生年月日,比如 19670401 代表 1967年4月1日;
15-17: 为顺序号,其中17位(倒数第二位)男为单数,女为双数;
18: 为校验码,0-9和X。作为尾号的校验码,是由把前十七位数字带入统一的公式计算出来的,计算的结果是0-10,如果某人的尾号是0-9,都不会出现X,但如果尾号是10,那么就得用X来代替,因为如果用10做尾号,那么此人的身份证就变成了19位。X是罗马数字的10,用X来代替10。
头6位 [1-9]\d{5}
出生年份 (19|20)\d{2}
出生月日
31天 (0[13578]|1[02])(0[1-9]|[12][\d]|3[01])
30天 (0[469]|11)(0[1-9]|[12][\d]|30)
2月 02(0[1-9]|[12][\d])
后4位 \d{3}[\dxX]
/^[1-9]\d{5}(19|20)\d{2}((0[13578]|1[02])(0[1-9]|[12][\d]|3[01])|(0[469]|11)(0[1-9]|[12][\d]|30)|02(0[1-9]|[12][\d]))\d{3}[\dxX]$/