解18位身份證正則表達式

自己初學正則表達式,寫了一個18位正則表達式如下:

^[1-9]\d{5}(18|19|2([0-9]))\d{2}(0[0-9]|10|11|12)([0-2][1-9]|30|31)\d{3}[0-9Xx]$


前六位數字  = [1-9]\d{5}省份(2位)+城市(2位)+區縣(2位)代碼        \d   表示[0-9]{5}  [0-9]5次,因此也可以寫成\d{6}
年份=(18|19|2([0-9]))\d{2} ,18或19年或2[0-9]或3[0-9]年,(18|19|([23]\d))\d{2}表示18[0-9][0-9]或19[0-9][0-9]或2000到2999或3000到3999
月份 =(0[0-9]|10|11|12), 01到09或10或11或12
日期 =([0-2][1-9]|30|31)  01到29或30或31
後四位\d{3}[0-9Xx]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章