Skip to content
识别一个给定的身份证号码是否合法
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
img
IDlegal.py
README.md
test_Idlegal.py

README.md

IDLegal

识别一个给定的身份证号码是否合法

身份证号码的编码规则

  1. 身份证号码共18位,由17位本体码和1位校验码组成。
  2. 前6位是地址码,表示登记户口时所在地的行政区划代码,依照《中华人民共和国行政区划代码》国家标准(GB/T2260)的规定执行; 7到14位是出生年月日,采用YYYYMMDD格式; 15到17位是顺序码,表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编订的顺序号,顺序码的奇数分配给男性,偶数分配给女性,即第17位奇数表示男性,偶数表示女性; 第18位是校验码,采用ISO 7064:1983, MOD 11-2校验字符系统。

一代身份证与二代身份证的区别在于:

  • 一代身份证是15位,二代身份证是18位;
  • 一代身份证出生年月日采用YYMMDD格式,二代身份证出生年月日采用YYYYMMDD格式;
  • 一代身份证无校验码,二代身份证有校验码。

身份证校验位校验算法

  • 身份证号码中各个位置上的号码字符值应满足下列公式的校验: 公式
You can’t perform that action at this time.