2012-09-21 50 views
1

我們都看過(也許用過)驗證各種信用卡的衆多正則表達式模式之一...做信用卡公司發佈官方正則表達式?

有沒有卡公司自己發佈的任何「官方」正則表達式模式?

這些模式是否都只是由社區提交?

+2

什麼,像[Luhn算法](http://en.wikipedia.org/wiki/Luhn_algorithm)?你在說什麼正則表達式? – nneonneo

+0

這個_may_足夠'正式':http://www.regular-expressions.info/creditcard.html – Steve

+2

沒有,因爲重新驗證不是一個好的選擇,更好的檢查長度,導致數字和lunh –

回答

1

沒有正則表達式可以完全驗證卡號。那裏的各種解決方案都是非常基本的檢查,只包括前幾位數字。實際上,在卡片尚未由任何髮卡機構分配的範圍內經常存在巨大的差距。

您可以完整地檢查前幾位數字,卡片長度和luhn check digit,但要完全驗證卡的唯一方法是將其提交給處理器進行驗證和授權。

+0

+1 @PaulG爲他的答案,但缺少的是「爲什麼」。出於安全考慮,信用卡公司絕不會發布任何「正式」的正則表達式。這是他們最大的利益(也作爲他們的客戶,你的利益),你只能通過調用他們的服務來驗證信用卡號碼;這樣,他們可以監視欺詐驗證模式。 – Isaac