我想验证信用卡号码与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. 使用Stripe与iOS验证信用卡
- 3. $ 1信用卡验证Braintree
- 4. Python信用卡验证
- 5. JavaScript信用卡验证
- 6. php信用卡验证
- 7. 贝宝信用卡验证
- 8. 验证信用卡信息 - CVV号码
- 9. 使用Luhn的信用卡验证
- 10. 信用卡验证和检查
- 11. Symfony 1.4的信用卡验证器
- 12. 检查信用卡号码的验证
- 13. Python - 信用卡验证部分问题
- 14. 信用卡号码验证算法
- 15. ActiveMerchant不验证信用卡无效
- 16. 信用卡的客户端验证
- 17. 什么是验证信用卡codeigniter
- 18. jQuery信用卡验证程序仅在提交或点击
- 19. Jquery中的信用卡到期日验证
- 20. 与jQuery验证
- 21. 验证与添加与jQuery验证
- 22. 斯卡拉与猫 - 笛卡尔+验证
- 23. JQuery与Asp.net验证
- 24. Url验证与jquery
- 25. jQuery:提示与jQuery验证
- 26. 验证两个领域与jQuery验证
- 27. 验证多选与jQuery验证插件
- 28. 在元素上使用元数据使其通过jQuery验证插件验证为信用卡
- 29. Android:SD卡验证
- 30. 如何扩展ASP.NET MVC2开箱验证以验证信用卡/电子邮件?
验证插件有什么问题? – Bartek 2009-11-06 20:11:13
是吗?谷歌并没有真正返回任何明显而不是验证插件的事实足够好提示 – Bostone 2009-11-06 20:15:44