下面是引用小金鋼於2007-03-13 20:23發表的 用MATLAB寫身分證驗證碼:
求語言程式及註解
複製程式
身份証字號編碼公式 (台灣適用)
內容:
教學>身份証字號編碼公式
身份證字號 共有十碼, 以下是位置說明,僅供各位參考
N1N2N3N4N5N6N7N8N9N10
戶籍性別~流~~~~~~~~水~~~~~~~~~~~碼~
代表說明
戶籍代表字母
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連江縣
英文字母代表的數字
A=10 B=11 C=12 D=13 E=14 F=15 G=16 H=17 I=34 J=18 K=19 L=20
M=21 N=22 O=35 P=23 Q=24 R=25 S=26 T=27 U=28 V=29 W=32 X=30
Y=31 Z=33
性別代表數字
1:男性
2:女性
步驟
1. 查出英文字所代表的數字
再將所查出的數字 "十位數+個位數x9"
例: 台北市=10 => 1 + 0x9 =1
台中市=11 => 1 + 1x9 =10
2. N2x8+N3x7+N4x6+N5x5+N6x4+N7x3+N8x2+N9+N10
將流水碼依序乘8765432
一個個乘.乘完要加起來.(別忘了先乘除後加減)
例: 123456789 => 1x8+2x7+3x6+4x5+5x4+6x3+7x2+8+9
3.將步驟1 和步驟2 的兩個數加起來除以10.
例:步驟1 台北計算結果 =1
步驟2 1x8+2x7+3x6+4x5+5x4+6x3+7x2+8+9 =129 (1+129)/10
除10後看看是否可以整除.如可以整除即為正確的
身份證字號. 如無法整除即是錯誤的身份證字號
(1+129)/10 = 13 => 可以整除.正確
PS:以上資料來自『洪X』...感恩那邊的大大XD
這個是它的計算方法...
希望對你有用XD