自己初学正则表达式,写了一个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]