身份证号 正则表达式
时间: 2024-03-26 22:33:17 浏览: 131
身份证号的正则表达式可以用来验证身份证号的格式是否正确。以下是一个常用的身份证号正则表达式:
```
^(\\d{6})(19|20)?(\\d{2})(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])(\\d{3})(\\d|X|x)?$
```
该正则表达式的含义如下:
- `^` 表示匹配字符串的开始位置
- `(\\d{6})` 表示匹配6位数字,用于匹配身份证号的前6位地区码
- `(19|20)?` 表示匹配19或20,用于匹配身份证号的年份的前两位(可选)
- `(\\d{2})` 表示匹配2位数字,用于匹配身份证号的年份的后两位
- `(0[1-9]|1[0-2])` 表示匹配01到09或10到12,用于匹配身份证号的月份
- `(0[1-9]|[12]\\d|3[01])` 表示匹配01到09、10到29或30到31,用于匹配身份证号的日期
- `(\\d{3})` 表示匹配3位数字,用于匹配身份证号的顺序码
- `(\\d|X|x)?` 表示匹配一个数字或字母X(大小写不限),用于匹配身份证号的校验码(可选)
- `$` 表示匹配字符串的结束位置
请注意,这只是一个简单的身份证号正则表达式,仅能验证身份证号的格式是否正确,不能验证身份证号的合法性。在实际应用中,还需要结合其他验证方法来确保身份证号的有效性。
相关问题
身份证号码正则表达式
身份证号码的正则表达式可以根据不同的需求有多种形式。以下是三个常见的身份证号码正则表达式:
1. 18位身份证号码正则表达式:
^\[1-9\]\d{5}(18|19|(\[23\]\d))\d{2}((0\[1-9\])|(10|11|12))((\[0-2\]\[1-9\])|10|20|30|31)\d{3}\[0-9Xx\]$
这个正则表达式可以用来验证18位身份证号码的格式。其中,前六位是地区码,接着是出生年份,然后是月份和日期,再接着是顺序码和校验码。
2. 15位身份证号码正则表达式:
^\[1-9\]\d{5}\d{2}((0\[1-9\])|(10|11|12))((\[0-2\]\[1-9\])|10|20|30|31)\d{2}$
这个正则表达式可以用来验证15位身份证号码的格式。与18位身份证号码类似,前六位是地区码,接着是出生年份的后两位,然后是月份和日期,最后是顺序码。
3. 校验码验证:
身份证号码的最后一位是校验码,用于验证身份证号码的有效性。校验码的计算方法是通过前17位的数字按照一定的规则计算得出的。具体的计算方法可以参考引用\[3\]中提供的信息。
请注意,以上的正则表达式只能验证身份证号码的格式是否正确,不能验证身份证号码是否真实存在。
#### 引用[.reference_title]
- *1* *3* [身份证号码正则表达式详解](https://blog.csdn.net/qian_qian_123/article/details/128950357)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [身份证正则表达式](https://blog.csdn.net/qq_17032077/article/details/123919813)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
身份证号正则表达式 js
身份证号正则表达式的 JavaScript 实现如下:
```javascript
const idCardReg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
```
其中,`^\d{15}$` 匹配 15 位身份证号码,`^\d{18}$` 匹配 18 位身份证号码,`^\d{17}(\d|X|x)$` 匹配 18 位身份证号码中的最后一位可能是数字或字母 X。
阅读全文