python身份证号码校验
时间: 2023-05-11 12:03:00 浏览: 368
Python身份证号验证
可以使用 Python 的 re 模块来实现身份证号码校验,具体代码如下:
```python
import re
def validate_id_card(id_card):
pattern = r'^\d{17}[\dXx]$'
if not re.match(pattern, id_card):
return False
factors = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1]
check_sum = sum([int(id_card[i]) * factors[i] for i in range(17)])
check_code = '10X98765432'[check_sum % 11]
return check_code == id_card[-1].upper()
id_card = '110101199003074518'
print(validate_id_card(id_card)) # True
```
这段代码使用正则表达式判断身份证号码是否符合规范,然后根据身份证号码的前17位和固定的因子进行加权求和,最后根据校验码进行校验。
阅读全文