1. 程式人生 > >15/18位身份證號碼正則表示式(詳細版)

15/18位身份證號碼正則表示式(詳細版)

xxxxxx yyyy MM dd 375 0     十八位

xxxxxx    yy MM dd   75 0     十五位


地區:[1-9]\d{5}
年的前兩位:(18|19|([23]\d))            1800-3999
年的後兩位:\d{2}
月份:((0[1-9])|(10|11|12)) 
天數:(([0-2][1-9])|10|20|30|31)          閏年不能禁止29+

三位順序碼:\d{3}

兩位順序碼:\d{2}

校驗碼:[0-9Xx]


十八位:^[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}[0-9Xx]$

總:

(^[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}[0-9Xx]$)