身份证号应当符合身份证格式(正则表达式), 额外要求:只能是数字,不接收带X的格式
时间: 2024-10-25 07:02:48 浏览: 29
在中国,身份证号码是由18位数字组成,分为三组,每组有不同的含义。为了验证一个字符串是否符合这种格式并且只包含数字,你可以使用以下的正则表达式:
```javascript
/^\d{6}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01])\d{3}$/
```
这个正则表达式的解释如下:
- `^` 表示匹配字符串的开始。
- `\d{6}` 匹配连续的6位数字。
- `(18|19|20)\d{2}` 匹配出生年份,包括前两位的公元年份(18, 19, 或者 20)后面跟着连续的两位数字。
- `(0[1-9]|1[0-2])` 匹配月份,01到12。
- `(0[1-9]|[12][0-9]|3[01])` 匹配日期,01到31。
- `\d{3}$` 匹配最后三位校验码。
如果你要确保不接受带有字母 'X' 的格式,只需去掉这部分即可。如果身份证号码中出现 'X',那么它不符合中国身份证的规则。以下是移除 'X' 后的正则表达式:
```javascript
/^\d{6}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12][0-9]|3[01])\d{2}$/ // 去掉了 \d{3}
```
阅读全文