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

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值