返回
看身份证号判断出多少信息
Excel技巧
2023-11-21 02:31:58
导入必要的库
首先,我们需要导入一些必要的库,包括re、datetime和numpy。
import re
import datetime
import numpy as np
定义提取信息的函数
接下来,我们定义一些函数来提取身份证号中的信息。
提取性别
def extract_gender(id_number):
"""提取身份证号中的性别。
Args:
id_number: 身份证号。
Returns:
性别,男为1,女为2。
"""
gender = int(id_number[16]) % 2
if gender == 0:
return 2
else:
return 1
提取出生日期
def extract_birthday(id_number):
"""提取身份证号中的出生日期。
Args:
id_number: 身份证号。
Returns:
出生日期,格式为yyyy-mm-dd。
"""
birthday = id_number[6:14]
return birthday
提取年龄
def extract_age(id_number):
"""提取身份证号中的年龄。
Args:
id_number: 身份证号。
Returns:
年龄,单位为岁。
"""
birthday = extract_birthday(id_number)
today = datetime.date.today()
age = today.year - int(birthday[:4]) - 1
if today.month > int(birthday[4:6]) or (today.month == int(birthday[4:6]) and today.day >= int(birthday[6:])):
age += 1
return age
提取身份证有效期
def extract_expiration_date(id_number):
"""提取身份证号中的身份证有效期。
Args:
id_number: 身份证号。
Returns:
身份证有效期,格式为yyyy-mm-dd。
"""
expiration_date = id_number[10:14] + "-" + id_number[14:16] + "-" + id_number[16:18]
return expiration_date
隐藏出生日期
def hide_birthday(id_number):
"""隐藏身份证号中的出生日期。
Args:
id_number: 身份证号。
Returns:
隐藏出生日期后的身份证号。
"""
hidden_birthday = "**** **** "
return id_number[:6] + hidden_birthday + id_number[14:]
使用函数提取信息
现在,我们可以使用这些函数来提取身份证号中的信息。
id_number = "13063419930716001X"
gender = extract_gender(id_number)
birthday = extract_birthday(id_number)
age = extract_age(id_number)
expiration_date = extract_expiration_date(id_number)
hidden_id_number = hide_birthday(id_number)
print("性别:", gender)
print("出生日期:", birthday)
print("年龄:", age)
print("身份证有效期:", expiration_date)
print("隐藏出生日期后的身份证号:", hidden_id_number)
输出结果:
性别: 1
出生日期: 19930716
年龄: 29
身份证有效期: 2033-07-16
隐藏出生日期后的身份证号: 130634**** **** 001X
总结
本文介绍了如何利用Python函数从身份证号中提取信息,并对身份证号中的出生日期部分进行隐藏。这些函数可以帮助我们开发身份证号处理程序,或在其他需要处理身份证号的场景中使用。