|
|
@ -149,7 +149,17 @@ def get_region_from_id_card(id_card: str) -> Tuple[str, str]:
|
|
|
|
'310000': ('上海市', '上海市'),
|
|
|
|
'310000': ('上海市', '上海市'),
|
|
|
|
'310100': ('上海市', '上海市'),
|
|
|
|
'310100': ('上海市', '上海市'),
|
|
|
|
'440000': ('广东省', ''),
|
|
|
|
'440000': ('广东省', ''),
|
|
|
|
'440300': ('广东省', '深圳市'),
|
|
|
|
'510000': ('四川省', ''),
|
|
|
|
|
|
|
|
'510700': ('四川省', '绵阳市'),
|
|
|
|
|
|
|
|
'510703': ('四川省', '绵阳市'),
|
|
|
|
|
|
|
|
'510704': ('四川省', '绵阳市'),
|
|
|
|
|
|
|
|
'510705': ('四川省', '绵阳市'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Add more regions as needed...
|
|
|
|
# Add more regions as needed...
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -168,7 +178,7 @@ def generate_test_id_card() -> str:
|
|
|
|
# Region code (random Beijing district)
|
|
|
|
# Region code (random Beijing district)
|
|
|
|
region = '110' + str(random.randint(100, 199))[:3]
|
|
|
|
region = '110' + str(random.randint(100, 199))[:3]
|
|
|
|
|
|
|
|
|
|
|
|
# Birth date (18-60 years old)
|
|
|
|
# Birth_date (18-60 years old)
|
|
|
|
birth_year = date.today().year - random.randint(18, 60)
|
|
|
|
birth_year = date.today().year - random.randint(18, 60)
|
|
|
|
birth_date = f"{birth_year}{random.randint(1, 12):02d}{random.randint(1, 28):02d}"
|
|
|
|
birth_date = f"{birth_year}{random.randint(1, 12):02d}{random.randint(1, 28):02d}"
|
|
|
|
|
|
|
|
|
|
|
@ -188,14 +198,5 @@ def generate_test_id_card() -> str:
|
|
|
|
return first_17 + checksum
|
|
|
|
return first_17 + checksum
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Example usage
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
|
|
|
|
test_id = "110105199003078888" # Example valid ID
|
|
|
|
|
|
|
|
print(f"Validate ID: {validate_id_card(test_id)}")
|
|
|
|
|
|
|
|
print(f"Birth date: {extract_birthday_from_id_card(test_id)}")
|
|
|
|
|
|
|
|
print(f"Age: {calculate_age(extract_birthday_from_id_card(test_id))}")
|
|
|
|
|
|
|
|
print(f"Gender: {'Male' if get_gender_from_id_card(test_id) else 'Female'}")
|
|
|
|
|
|
|
|
print(f"Region: {get_region_from_id_card(test_id)}")
|
|
|
|
|
|
|
|
print(f"Test ID: {generate_test_id_card()}")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|