用于验证中国大陆身份证号的正则表达式

^[1-9][0-9]{5}(18|19|20)[0-9]{2}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])[0-9]{3}([0-9]|X)$

这个正则表达式用于验证中国大陆的身份证号码格式是否正确。下面是对这个正则表达式的详细解析:

  • ^ 是匹配的起始字符,表示从字符串的开始位置进行匹配。
  • [1-9] 匹配身份证号码的第1位,表示该位必须是1到9的数字。
  • [0-9]{5} 匹配身份证号码的第2位到第6位,这五位可以是0到9的任意数字。
  • (18|19|20) 匹配身份证号码的第7位和第8位,表示年份。其中,(18|19|20) 匹配18、19或20这三个年份。
  • [0-9]{2} 匹配身份证号码的第9位和第10位,这两年位可以是0到9的任意数字。
  • (0[1-9]|1[0-2]) 匹配身份证号码的第11位和第12位,表示月份。其中,(0[1-9]|1[0-2]) 匹配01到09或10到12这十二个月份。
  • (0[1-9]|[1-2][0-9]|3[0-1]) 匹配身份证号码的第13位和第14位,表示日期。其中,(0[1-9]|[1-2][0-9]|3[0-1]) 匹配01到31这三十一天。
  • [0-9]{3} 匹配身份证号码的第15位到第17位,这三位是顺序码。
  • ([0-9]|X)$ 匹配身份证号码的最后一位,即校验码。其中,([0-9]|X)$ 匹配0到9的数字或大写字母X。
  • $ 是匹配的结束字符,表示匹配到字符串的结束位置。

所以,这个正则表达式可以验证中国大陆的身份证号码格式是否正确,包括年份、月份、日期、顺序码和校验码的位置和格式是否正确。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值