🎉 我們上線了 Product Hunt!支持我們並給我們反饋
返回

身份證號碼驗證與產生工具

檢查香港身份證號碼或台灣身分證字號的檢查碼,或產生符合規則的測試號碼。完全在你的瀏覽器內執行。

本工具只檢查算式。一個號碼即使通過校驗,也未必屬於任何人。你輸入的內容不會傳送到任何地方。

本工具檢查甚麼,又檢查不到甚麼

香港身份證和台灣身分證字號都帶有一個由其餘字元推算出來的檢查碼,本工具會把它重新計算一次。這能抓出打字和抄寫上的錯誤,而這正是它的用途。它無法告訴你某個號碼是否曾經簽發、目前是否仍然有效,或者持有人是誰 — 那必須向發證機關查證。

香港身份證檢查碼的運作方式

香港身份證由一至兩個英文字母、六位數字,以及一個放在括號內的檢查字元組成。字母的值由 A=10 一直到 Z=35;沒有第一個字母時以 36 計算。八個主體字元分別乘以由 9 遞減至 2 的權重後相加,檢查字元就是令總和可被 11 整除的那個值。餘數為 10 時,會寫成字母 A。

以 A123456 為例:36×9 + 10×8 + 1×7 + 2×6 + 3×5 + 4×4 + 5×3 + 6×2 = 481。481 mod 11 = 8,而 11 − 8 = 3,所以完整號碼是 A123456(3)。

台灣身分證檢查碼的運作方式

台灣身分證字號由一個英文字母和九位數字組成。字母對應初次戶籍登記所在縣市的兩位數代號,該代號的第一位以權重 1 計算、第二位以權重 9 計算;其後八位數字的權重由 8 遞減至 1,最後的檢查碼權重為 1。號碼有效時,總和會是 10 的倍數。

字母之後的第一位數字是性別標記:1 代表男性,2 代表女性。由 2021 年起,8 和 9 用來標示發給外來人口的統一證號。

產生測試數據

「產生」分頁會建立只符合檢查碼規則的號碼。它們並非發給任何人,亦無法通過真實的身份查核——它們的用途是讓你測試表單驗證邏輯、填充測試環境的數據庫,或撰寫測試案例,而不必使用真人的號碼。由於檢查碼演算法本身是公開的,產生一個格式正確的號碼並不會透露任何本頁未曾說明的資訊。

請勿把產生的號碼寫入正式紀錄,也不要把檢查碼通過視為身份驗證。真正的驗證必須向發證機關查核。

甚麼時候會用到

  • 在表單欄位寫入你的數據庫之前先做驗證
  • 審查舊有數據集,找出抄寫錯誤
  • 產生格式正確、能通過自家驗證邏輯的測試數據
  • 查明第三方 API 為何拒絕某個號碼

Rocks Dev Dock 發布了 🥳

在工具內按 '+' 將您喜歡的工具添加到您的 dock。

使用我們的工具時不會收集數據,只是工具。