返回

看身份证号判断出多少信息

Excel技巧

导入必要的库

首先,我们需要导入一些必要的库,包括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函数从身份证号中提取信息,并对身份证号中的出生日期部分进行隐藏。这些函数可以帮助我们开发身份证号处理程序,或在其他需要处理身份证号的场景中使用。