身份证号码校验python123
时间: 2023-11-04 14:07:06 浏览: 158
好的,身份证号码校验可以使用正则表达式来实现。以下是一个简单的 Python 代码示例:
```python
import re
def validate_id_number(id_number):
pattern = r'^\d{17}[\dXx]$'
if not re.match(pattern, id_number):
return False
factors = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
check_codes = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2']
check_sum = sum([int(id_number[i]) * factors[i] for i in range(17)])
check_code = check_codes[check_sum % 11]
return check_code == id_number[-1].upper()
id_number = '110101199003074518'
if validate_id_number(id_number):
print('身份证号码有效')
else:
print('身份证号码无效')
```
在这个示例中,我们首先使用正则表达式 `r'^\d{17}[\dXx]$'` 来检查身份证号码是否符合格式要求。如果不符合,直接返回 False。接下来,我们使用一个因子列表和一个校验码列表来计算身份证号码的校验码,并将其与身份证号码的最后一位进行比较,以确定身份证号码是否有效。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](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)