使用Jquery进行信用卡validation

我正在尝试使用jQueryvalidation信用卡号,但我不想使用validation插件,是否还有其他插件可以执行此操作?

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(li-1,li); 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); } 

如果您想确定它是有效的卡号,您需要检查的数字远远超过Luhn数字。

Luhn数字仅用于检查转置错误,并且很容易被数字欺骗,例如22222222222222222

应检查卡号的前六位数字。 这些数字称为发行者识别号,可用于确保该号码在识别范围内。 不幸的是,你很难找到一份全面的IIN清单,尤其是因为发行人不断添加和删除范围。 维基百科有一个非常基本的概述: 银行卡号

如果您可以从IIN确定卡类型,则可以尝试validation号码的长度。

除非你有充分的理由,否则更容易使用像validation插件这样的东西。

我建议你使用正则表达式 …你可以检查我的存储库我有一个代码片段来validationVisa,万事达卡,发现,美国快递和安全码

https://github.com/leojavier/RegexCollection


记住……仅仅因为你限制数字量并不意味着它是正确的。

例如:
– 所有Visa卡号均以4开头。新卡有16位数。
– 所有万事达卡号码均以数字51至55开头。所有号码均为16位数字。 等等…

index.html是一个示例,向您展示如何使用它! 如果您有任何问题,请随时给我写信:)