【问题标题】:credit card validation using jquery [closed]使用jquery进行信用卡验证[关闭]
【发布时间】: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 标记您的问题。

标签: jquery regex validation credit-card


【解决方案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');
}

【讨论】:

    猜你喜欢
    • 2010-12-13
    • 1970-01-01
    • 2014-08-03
    • 2012-03-01
    • 2014-01-30
    • 2016-11-15
    • 1970-01-01
    • 2012-01-20
    • 2012-07-20
    相关资源
    最近更新 更多