我想驗證信用卡號碼與jQuery,但我不想使用驗證插件,有沒有其他插件做到這一點?信用卡驗證與jquery
回答
http://en.wikipedia.org/wiki/Luhn_algorithm
你可以最大限度地減少之下到一個非常小的足跡在你的代碼這一點。
function isCreditCard(CC)
{
if (CC.length > 19)
return (false);
sum = 0; mul = 1; l = CC.length;
for (i = 0; i < l; i++)
{
digit = CC.substring(l-i-1,l-i);
tproduct = parseInt(digit ,10)*mul;
if (tproduct >= 10)
sum += (tproduct % 10) + 1;
else
sum += tproduct;
if (mul == 1)
mul++;
else
mul--;
}
if ((sum % 10) == 0)
return (true);
else
return (false);
}
+1 - Luhn將是在客戶端「驗證」它的唯一方法。 – 2009-11-06 20:18:42
盧恩檢查實際上僅用於發現換位錯誤。您還需要檢查髮卡行的識別範圍(卡號的前六位數字)是否有效。 – PaulG 2009-11-06 20:23:23
如果你想確定它是一個有效的卡號,你需要檢查遠遠超過盧恩的數字。
的盧恩數字僅用於檢查換位的錯誤,並且可以輕鬆地與數字,如22222222222222222
卡號的前6位應檢查欺騙。這些數字被稱爲發行者識別號碼,並可用於確保該號碼在可識別的範圍內。不幸的是,你很難找到全面的IIN列表,這不僅僅是因爲發行者不斷添加和刪除範圍。維基百科有一個非常基本的概述,但:Bank card number
如果你可以從IIN中確定卡的類型,那麼你也可以在驗證數字的長度時進行刺探。
除非你有很好的理由,否則它更容易使用類似驗證插件的東西。
我建議你使用正則表達式 ... 您可以檢查我的倉庫我有一段代碼來驗證VISA,萬事達,發現,美國運通和安全碼
https://github.com/leojavier/RegexCollection
記住...只是因爲你限制的數字量並不意味着它會是正確的。
例如:
- 所有的Visa卡號碼都以4開頭。新卡片有16位數字。
- 所有的萬事達卡號碼都以51到55開頭。所有的都有16位數字。 等等......
index.html是一個示例,向您展示如何使用它!隨時寫信給我,如果您有任何疑問:)
- 1. 信用卡驗證
- 2. 使用jquery進行信用卡驗證
- 3. 驗證信用卡信息
- 4. 使用Stripe與iOS驗證信用卡
- 5. php信用卡驗證
- 6. $ 1信用卡驗證Braintree
- 7. JavaScript信用卡驗證
- 8. 貝寶信用卡驗證
- 9. Python信用卡驗證
- 10. 驗證信用卡信息 - CVV號碼
- 11. 如何驗證信用卡號碼和卡驗證碼(ccv)
- 12. jQuery驗證信用卡限制爲Visa和萬事達卡
- 13. 使用Luhn的信用卡驗證
- 14. 如何驗證信用卡在angularjs
- 15. 在python中驗證信用卡號碼
- 16. 信用卡到期日在驗證HTML
- 17. 檢查信用卡號碼的驗證
- 18. Python - 信用卡驗證部分問題
- 19. ActiveMerchant不驗證信用卡無效
- 20. 什麼是驗證信用卡codeigniter
- 21. Symfony 1.4的信用卡驗證器
- 22. 信用卡號碼驗證算法
- 23. REG-防爆的JCB信用卡驗證
- 24. 信用卡的客戶端驗證
- 25. 信用卡驗證和檢查
- 26. Authorize.Net驗證信用卡AIM和ARB
- 27. jQuery信用卡驗證程序僅在提交或點擊
- 28. Jquery中的信用卡到期日驗證
- 29. 與jQuery驗證
- 30. 與jQuery驗證
驗證插件有什麼問題? – Bartek 2009-11-06 20:11:13
是嗎?谷歌並沒有真正返回任何明顯而不是驗證插件的事實足夠好提示 – Bostone 2009-11-06 20:15:44