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 821為正確的卡號格式。

卡別辨別

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

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *