今天遇到需要校验身份证号的业务需求,第一想法是用正则表达式来校验。
身份证号有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}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$
FYI:
今天遇到需要校验身份证号的业务需求,第一想法是用正则表达式来校验。
身份证号有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}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$
FYI: