使用jquery进行信用卡验证[关闭]

Posted

技术标签:

【中文标题】使用jquery进行信用卡验证[关闭]【英文标题】:credit card validation using jquery [closed] 【发布时间】:2014-01-25 21:39:30 【问题描述】:

代码没有正确验证值,当我输入一个简单的数字时,它已经触发了代码。

$(".validate-card-num").live('keypress', function() 
    var ccNum = $(this).val();
    //var visa = /^4[0-9]12([0-9]3)?$/;
    //var master = /^5[1-5]([0-9]14)$/;

    if(ccNum.test(/^4[0-9]12([0-9]3)?$/))
        $("#img-visa").css("opacity","1");
        $("#img-master").css("opacity","0.3");
    else if(ccNum.test(/^5[1-5]([0-9]14)$/))
        $("#img-master").css("opacity","1");
        $("#img-visa").css("opacity","0.3");
    else
        $("#img-master, #img-visa").css("opacity","0.3")

); 

例如,我输入“5”这个值会触发正则表达式,但是当我输入另一个值时,它会一起禁用正则表达式。

【问题讨论】:

它失败的症状是什么?它是崩溃了,还是只是没有做你想做/认为应该做的事情。 如果您没有使用 jQuery Validation 插件,请不要使用jquery-validate 标记您的问题。 【参考方案1】:

您没有正确使用.test() 函数。 此函数仅在 RegExObject 中可用,并且您在字符串上使用它。 你的代码应该是这样的:

var ccNum = "Test CC";
var visa = new  RegExp("Paste Your Visa Pattern Here");
//Then do the check
if(visa.test(ccNum))
   console.log('visa card');
else
   console.log('not visa card');

【讨论】:

以上是关于使用jquery进行信用卡验证[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 jQuery 信用卡验证器

使用 JQUERY 进行 16 位验证

信用卡长/字符串验证[关闭]

42是有效的信用卡号码吗? jQuery 验证器认为它是

为啥 C# 正则表达式信用卡验证函数会使用无效值进行验证? [复制]

使用信用卡和支付网关进行年龄验证