身分證年齡計算器
批次解析身分證號碼,計算年齡並統計分佈
什麼是身分證號碼年齡計算器?
身分證年齡計算器用來從中國居民身分證號碼中讀出生日期,並據此計算目前年齡。它適合核對報名表、會員資料、年齡門檻、考試資料或統計表時使用,避免人工拆出生年月日再計算周歲。工具只解析號碼中已經包含的日期資訊,不等同於官方身分驗證,也不建議在沒有必要時儲存完整身分證號。涉及隱私、未成年人保護或法律效力的情境,仍應以證件正本與機構正式驗證流程為準。
如何使用
如何使用
- 在輸入框中輸入身份證號碼,每行一筆
- 點選「計算」按鈕開始解析
- 查看每張身份證的詳細資訊(出生日期、年齡、性別、地區)
- 查看統計結果(平均年齡、年齡分佈等)
- 可複製結果或匯出為 CSV 檔案
隱私與驗證提示
- 身份證號碼屬敏感的個人資料。請僅處理你獲授權的資料,並避免隨意分享匯出結果。
- 校驗碼驗證可抓出不少打錯字的情況,但無法證實該身份證號碼確實屬於某位真實人物。
- 批次結果中,請先檢查無效的資料列,再將年齡分佈或性別統計用於報告。
使用場景
技術原理
GB 11643-1999 定義的 18 位中國居民身分證號碼將五個欄位打包為固定寬度字串:第 1-6 位是來自 GB/T 2260 的行政區劃代碼,第 7-14 位是 YYYYMMDD 格式的出生日期,第 15-17 位是發證序號,第 18 位是 ISO 7064 MOD 11-2 校驗字元。1999 年前的 15 位格式省略了世紀前綴和校驗碼,因此升級意味著在 YY 區塊前插入 '19',然後計算尾部校驗和。 校驗和是驗證的核心。前 17 位數字分別乘以權重序列 7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2,加權總和取模 11,餘數透過映射表 '1-0-X-9-8-7-6-5-4-3-2' 對應校驗碼。餘數為 2 時產生字面字元 'X' 而非數字,這就是最後一位必須不分大小寫解析的原因。性別僅從第 17 位的奇偶性解碼(奇數為男性,偶數為女性),年齡則為日曆年份之差減去一(若今天的日期早於編碼的生日)。 演算法無法證明的是是否有真實的人擁有該號碼。單一數字互換若仍保持校驗碼有效則仍會通過,行政合併後退役的地區代碼在 GB/T 2260 中可能已無法解析,奇偶性別反映的是發證窗口而非當前的自我認同。將解析結果視為廉價的結構驗證,真正的身分核實應交由發證機關處理。
- 校驗碼:ISO 7064:1983 MOD 11-2,對前 17 位數字計算,權重為 7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2,餘數映射表為 '10X98765432'。
- 日期欄位:第 7-14 位使用 YYYYMMDD;即使校驗碼碰巧計算通過,也應拒絕不可能的日曆日期如 19900230。
- 地區代碼:第 1-6 位遵循 GB/T 2260;行政合併後退役的區域代碼仍會通過校驗碼檢查,但無法解析為實際的區域名稱。
- 舊式 15 位升級:在第 6 位和第 7 位之間插入 '19',然後重新計算 MOD 11-2 校驗碼;這就是為什麼單獨的 15 位號碼沒有校驗碼可供驗證。
- 性別位元:第 17 位的奇偶性,奇數為男性,偶數為女性,由發證窗口的序號分配決定,而非自我認同。
- 年齡邊界:當(今天的月份、日期)早於(出生月份、日期)時減去一年,因此生日在後半年的人會比下一個生日時的年齡少一歲。
範例
解析單一中國身分證號
輸入: 11010119900101****
Region: 110101 → 北京市東城區
Birth: 1990-01-01
Gender: 第 17 碼為奇數 → 男 / 偶數 → 女
Age on 2026-06-10: 36 歲
Zodiac: 馬, Constellation: 摩羯座批次處理(每行一筆)
Input (3 numbers):
11010119900101****
31010119851215****
44030120000628****
Output table:
北京 | 1990-01-01 | 36 歲 | 男
上海 | 1985-12-15 | 40 歲 | 女
深圳 | 2000-06-28 | 25 歲 | 男年齡計算規則(今年生日是否已過?)
DOB: 1990-09-15, Today: 2026-06-10
今年生日:2026-09-15 → 尚未到來
Age = 2026 - 1990 - 1 = 35
DOB: 1990-03-20, Today: 2026-06-10
2026 年生日已過
Age = 2026 - 1990 = 36舊式 15 碼身分證轉 18 碼
Old (15-digit, pre-1999): 110101900101001
插入世紀碼:110101 + 19 + 900101 + 001 = 110101199001010 01
附加校驗碼(ISO 7064 MOD 11-2 演算法):X
Final 18-digit: 11010119900101001X
本工具會補上缺少的 19 世紀前綴並重新計算
校驗碼,使舊號碼可順利驗證。隱私說明 — 所有處理皆在本地進行
貼上的身分證號絕不會傳送至伺服器。頁面在瀏覽器中
依下列位置解析字串:
digits 1-6 → 行政區劃代碼(GB/T 2260)
digits 7-14 → YYYYMMDD 出生日期
digits 15-17 → 順序號(奇數為男、偶數為女)
digit 18 → ISO 7064 MOD 11-2 校驗碼常見問題
支援哪些身分證號格式?
中國大陸 18 位與 15 位居民身分證號(居民身份證號)。15 位舊格式會在解析前自動升級為 18 位。頁面同時顯示性別、發證地區(依地區碼判斷)以及出生日期。
年齡是怎麼從身分證號算出來的?
18 位身分證號的第 7 至 14 位以 YYYYMMDD 格式編碼出生日期。頁面從這個日期計算到今天,並採用法定年齡規則(必須過了當年生日才算滿 N 歲)。
性別是怎麼判斷的?
第 17 位(倒數第二位)代表性別:奇數為男性、偶數為女性。頁面直接讀取這一位,不會呼叫任何外部 API。
地區碼代表什麼?
前 6 位編碼發證當時的登記地區:省(1-2 位)、市(3-4 位)、縣/區(5-6 位)。注意這是登記地,不一定是目前居住地;許多人會保留戶籍地(戶籍)所在的身分證。
校驗碼是怎麼計算的?
第 18 位(最後一個字元)是前 17 位的 Mod-11-2 校驗碼,加權係數為 [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]。結果對 11 取餘後對應到 0-9 或 X。頁面會驗證這一位;校驗碼不正確代表身分證是偽造或輸入錯誤。
身分證號會傳到伺服器嗎?
不會。解析與驗證完全在你的瀏覽器中進行,身分證號不會離開你的裝置。不管如何,請把身分證號當作敏感個人資料看待,不要貼到任何不熟悉的工具裡。
為什麼頁面會對舊版 15 位身分證號發出提醒?
15 位身分證是 1999 年以前發出的(年份沒有世紀,也沒有校驗碼)。頁面會把它升級成 18 位,方法是補上世紀「19」並計算校驗碼,但這假設持有人是 1900 年代出生。1999 年以後出生的人一律使用 18 位身分證。