正在翻譯一篇文 Regex: Credit Card Numbers

有時候走火入魔就是這樣,前篇還在寫我正在研究 Regular Expression 玩數字檢查,結果看到信用卡號碼檢查有很多人提出不同的方法,我找到一篇國外的文章,寫得很詳盡,就想給它翻譯怕自己忘了原理。

此篇原文 Regex: Credit Card Numbers 內容介紹了世界各地金融網路發行的卡片及編碼形成方式,並且提供了 RegEx 的方法,由於這涉及了非常多的銀行專業知識,很多專有名詞及用語很艱深,我目前翻譯得很辛苦,但若有急用的人,不妨參考以下我節錄的幾個比較常見的卡號驗證方式。

Visa 卡

基本的驗證卡號長度對不對,範例卡號 “4012888888881881”

驗證含有空白或破折號分隔形成的卡號,範例卡號 “4012-8888-8888-1881”

Master 萬事達卡

基本的驗證卡號長度對不對,範例卡號 “5111005111051128”

驗證含有空白或破折號分隔形成的卡號

American Express 美國運通卡

基本的驗證卡號長度對不對,範例卡號 “371449635398431”

驗證含有空白或破折號分隔形成的卡號,範例卡號 “3714-496353-98431”

Discover

基本的驗證卡號長度對不對,範例卡號 “6011000990139424”

驗證含有空白或破折號分隔形成的卡號

 

Diner’s Club International (DCI) 已經被 Discover 吃了,所以 DCI 卡可能在其他文章有提到,但其實現在都被歸為 Discover。

JCB

基本的驗證卡號長度對不對,範例卡號 “3566002020360505”

驗證含有空白或破折號分隔形成的卡號

UnionPay (中國銀聯)

基本的驗證卡號長度對不對,範例卡號 “6212341111111111111”

Maestro

基本的驗證卡號長度對不對,範例卡號 “5019717010103742”

愛爾蘭的Laser卡也屬於 Maestro

參考連結

以上所提供的 RegEx 語法其實大概只有原文所提的一半而已,若需要更完整的可以看以下連結

發表迴響