台灣身分證字號輸入驗證

HTML, JavaScript, jQuery


首先 html 代碼如下:

  1. 新增一個input欄位讓使用者輸入身分證字號
  2. 新增一input按鈕為功能是submit

再來,JavaScript代碼:

  1. 首先是 ID verification function.

}
[/code]

  1.  call function 部分
    先做 submit 按鈕被按下要判斷 input 欄位是否有內容


註: 身分證格式判定規則

我們的身分證是一位英文字母加上九位數字,
下面這組就是理論上合規則的身分證字號,
A    1    2    3    4    5    6    7    8    9
首先,字母部分A對應到10,B是11,其他如下:
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. 英文轉成的數字,個位數乘9再加上十位數的數字,
    例如若是A,就是0x9+1=1。
  2. 再來是接下來的9碼,
    前八碼由左至右分別乘以由1開始到8結束的升冪數列。
    直接看例子:
    1  2  3  4  5  6  7  8  | 9
    x  x  x  x  x  x  x  x
    8  7  6  5  4  3  2  1  升冪數列
    等於
    8+14+18+20+20+18+14+8 = 120。
  3. 將 1.及 2.所得的數字相加。
    1+120=121。
  4. 再來要看第九碼,第九碼為檢查碼,本例的檢查碼是 9。
    用檢查碼加以驗證:
    求出 3. 除以10之後的餘數(mod),再用10減去該餘數,得到的結果應該要與檢查碼相同。
    (求餘數時要注意,若餘數為零,檢查碼就是 0,不需要再用10做減的動作。)
    用例子來看:
    121 / 10 = 12 ….. 1
    10 – 1 = 9
    9 = 9(第九碼檢查碼),所以最後知道這個身分證字號是合法的。

最後修改日期: 2021-03-31

留言

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。