从键盘上输入身份证号,使用正则表达式验证身份证号格式是否合法。
时间: 2023-04-15 07:00:48 浏览: 87
可以使用以下正则表达式验证身份证号格式是否合法:
```python
import re
id_card = input("请输入身份证号:")
# 正则表达式
pattern = r'^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])\d{3}[0-9Xx]$'
if re.match(pattern, id_card):
print("身份证号格式合法!")
else:
print("身份证号格式不合法!")
```
其中,正则表达式的含义如下:
- `^` 表示匹配字符串的开头;
- `[1-9]` 表示第一位必须是非零数字;
- `\d{5}` 表示接下来的 5 位可以是任意数字;
- `(19|20)\d{2}` 表示年份必须是 19 或 20 开头的 4 位数字;
- `(0[1-9]|1[0-2])` 表示月份必须是 01 到 12 之间的 2 位数字;
- `(0[1-9]|[1-2]\d|3[0-1])` 表示日期必须是 01 到 31 之间的 2 位数字;
- `\d{3}` 表示接下来的 3 位可以是任意数字;
- `[0-9Xx]` 表示最后一位可以是数字或者大写字母 X 或小写字母 x;
- `$` 表示匹配字符串的结尾。
如果输入的身份证号符合以上规则,则输出“身份证号格式合法!”;否则输出“身份证号格式不合法!”
相关问题
身份证号码正则表达式验证
身份证号码的正则表达式验证可以使用以下规则来进行匹配:
18位身份证号码的正则表达式:
```
^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[01])\d{3}(\d|X|x)$
```
15位身份证号码的正则表达式:
```
^[1-9]\d{7}((0\d)|(1[0-2]))((0\d)|([1-2]\d)|(3[0-1]))\d{3}$
```
其中,18位身份证号码的正则表达式中:
- 第一位为非零数字;
- 接下来的5位是地区代码;
- 然后是年份,可以是19开头或者20开头;
- 接着是月份,取值范围为01到12;
- 然后是日期,取值范围为01到31;
- 后面是顺序码,共3位数字;
- 最后一位可能是数字或者X/x。
15位身份证号码的正则表达式中:
- 第一位为非零数字;
- 接下来的7位是地区代码;
- 然后是年份,取值范围为00到99;
- 接着是月份,取值范围为01到12;
- 然后是日期,取值范围为01到31;
- 最后是顺序码,共3位数字。
身份证号的正则表达式
身份证号的正则表达式可以根据不同的需求进行选择。以下是两种常见的身份证号正则表达式示例:
1. 15位身份证号的正则表达式:
```python
import re
pattern = r'^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])\d{3}$'
```
2. 18位身份证号的正则表达式:
```python
import re
pattern = r'^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])\d{3}(\d|X|x)$'
```
这两个正则表达式分别用于验证15位和18位身份证号的格式是否正确。其中,`^`表示字符串的开始,`$`表示字符串的结束。`\d`表示匹配数字,`[1-9]`表示匹配1-9之间的数字。`[1-2]\d|3[0-1]`表示匹配01-31之间的数字。`(\d|X|x)`表示匹配数字或者大写字母X。
你可以使用Python的re模块中的re.match()函数来进行身份证号的正则匹配验证。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)