2010年3月15日 星期一

身份證字號驗證規則

L1 D1 D2 D3 D4 D5 D6 D7 D8 D9

L1:英文字母,出生地。
D1:數字,1 男 2 女
D2 - D8:數字,真正編號
D9:檢查號碼

L1 字母相對之數值表
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
10 11 12 13 14 15 16 17 34 18 19 20 21 22 35 23 24 25 26 27 28 29 32 30 31 33

A=10 台北市 J=18 新竹縣 S=26 高雄縣
B=11 台中市 K=19 苗栗縣 T=27 屏東縣
C=12 基隆市 L=20 台中縣 U=28 花蓮縣
D=13 台南市 M=21 南投縣 V=29 台東縣
E=14 高雄市 N=22 彰化縣 * W=32 金門縣
F=15 台北縣 * O=35 新竹市 X=30 澎湖縣
G=16 宜蘭縣 P=23 雲林縣 Y=31 陽明山
H=17 桃園縣 Q=24 嘉義縣 * Z=33 連江縣
* I=34 嘉義市 R=25 台南縣

驗證規則:
X1(英文換算後十位數)
X2(英文換算後個位數)
Y=X1 + X2*9 + D1*8 + D2*7 + D3*6 + D4*5 + D5*4 + D6*3 + D7*2 + D8*1 + D9*1
Y 能夠被10整除,則為正確之身份証號碼

檢查碼規則:
例如: 身分證號碼是 A123456789

  A 1 2 3 4 5 6 7 8 9
1 0 
  * * * * * * * * * *
  9 8 7 6 5 4 3 2 1 1
───────────────────────────────
1+0+8+14+18+20+20+18+14+8+9=130
130/10=13 (正確)