0

我正在使用这个可以正常工作的卡验证器脚本:

$('#card-number').validateCreditCard(function (result) {
    if(!(result.card_type != null)) {
        $('.card-issuer li').removeClass('selected');
        $('#card-number').removeClass('valid invalid');
        return;
    }
    $('.card-issuer li').removeClass('selected');
    $('.card-issuer li.' + result.card_type.name).addClass('selected');

    //----------- Field to identify Card Type ------------//
    $("#hdnCardType").val(result.card_type.name);

    if(result.length_valid && result.luhn_valid) {
        return $('.card-number').removeClass('invalid').addClass('valid');
    } else {
        $('.card-issuer li').removeClass('selected');
        return $('.card-number').removeClass('valid').addClass('invalid');
    }
});

..但它甚至在用户输入 16 位数字之前添加了无效类,我可以让它等到用户输入至少 14 位数字吗?

4

1 回答 1

0

我假设您每次用户键入新字符时都会调用 validateCreditCard 函数?如果是这种情况,请在至少有 14 个字符之前不要检查它。

} else {
       if (document.getElementsByClassName('.card-number')[0].value.length >= 14) {
            $('.card-issuer li').removeClass('selected');
            return $('.card-number').removeClass('valid').addClass('invalid');
       }
}
于 2013-03-03T20:55:13.910 回答