Credit Card Number

最近在串信用卡支付相關的服務,順道筆記信用卡卡號的相關規則。

驗證卡號

信用卡卡號的驗證方式是,最後一碼為驗證碼; 舉個例子來說: MasterCard – 5200 8282 8282 8210 其中最後一碼 0 是由 5200 8282 8282 821 去做一些邏輯運算後得到的結果; 也就是你其實可以前面隨便亂打,最後一碼再從 0 測試到 9 就可以通過基本的卡號驗證。

驗證方式

信用卡的驗證方式,是用 The Luhn Formula,也就是說, 當我們取得一組卡號,驗證碼產生的流程為:

  1. 去掉最後一碼(5 2 0 0 – 8 2 8 2 – 8 2 8 2 – 8 2 1)
  2. 把整串倒過來(1 2 8 – 2 8 2 8 – 2 8 2 8 – 0 0 2 5)
  3. 排序奇數的數字 x 2(2 2 16 – 2 16 2 16 – 2 16 2 16 – 0 0 2 10)
  4. 超過九的數字則 – 9(2 2 7 – 2 7 2 7 – 2 7 2 7 – 0 0 2 1)
  5. 將所有數字相加(50)
  6. 取尾數(0)

得到驗證碼為 0,則卡號 5200 8282 8282 8210 為正確的卡號格式。

卡別辨別

是以開頭前幾個數字來當作判斷基準, 例如 VISA 卡的判斷方式是卡號為 4 開頭的; JCB 則是前四碼在 3528 – 3589 範圍內。 還有很多相關的判斷資訊,可以到 FreeFormatter.com 看看!

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus