解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]

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。