身份证正则表达式(常见)
15位的身份证
正则表达式:
/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;
解释:
[1-9]\d{5} 1~6 地区,第一位不能为0
\d{2} 7~8 出生年份后两位00-99
((0[1-9])|(10|11|12)) 9~10 月份,01-12月
(([0-2][1-9])|10|20|30|31) 11~12 日期,01-31天
\d{3} 13~15 顺序码三位
18位的身份证
正则表达式:
/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9xX]$/;
解释:
[1-9]\d{5} 1~6 地区,第一位不能为0
(18|19|([23]\d))\d{2} 7~10 出身年份,覆盖范围为 1800-3999 年
((0[1-9])|(10|11|12)) 10~13 月份,01-12月
(([0-2][1-9])|10|20|30|31) 14~15 日期,01-31天
\d{3}[0-9xX] 16~18 顺序码三位 + 一位校验码(Xx)