2008年8月29日 星期五

JavaScript身份證字號驗證產生器

身份證字號的數字是有規則可循的,如果利用這個規則,就可以產生一個合法的身份證字號,同時也可以驗證一組身份證字號是否正確,一般的應用如輸入表單驗證或申請假資料等等。
台灣的身份證字號有10碼,第一碼為英文字母,後面都是數字。最後一碼是確認碼,用來確認這個身份證字號的正確性。第一碼英文字母代表這組身份證字號的地區,如C代表基隆市,A代表台北市等等,這個英文字母又代表一組代號,地區和代號如下表:
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 台南縣


第二個號碼代表性別,1為男生,2為女生


確認碼的產生規則:

(1)把第一位英文字母代表的數字(如上表)後面接上原本身份證字號的第2~9碼

例:A123456789,A代表的數字為10,後面接上原本號碼的2~9碼(12345678)
得到1012345678


(2)這十個數字由左到右依序乘上1,9,8,7,6,5,4,3,2,1然後加總

(3)得到後的數字除以10,然後再用10減掉這個數,
得到的結果如果等於最後一位號碼的話就是正確的。

按這裡檢視完整程式

沒有留言: