支付jQuery插件验证日期月

时间:2014-02-16 08:52:59

标签: jquery validation payment

我有jQuery插件来验证信用卡我想使用单独的字段来验证我做了一年的月份和年份,但我不知道要修复月份

$.payment.validateCardMonthExpiry = function(month) {        
    var currentTime, expiry, _ref;
    if (typeof month === 'object' && 'month' in month) {
       _ref = month,
       month = _ref.month;
    }
    if (!(month)) {
       return false;
    }
    month = $.trim(month);
    if (!/^\d+$/.test(month)) {
       return false;
    }
    if (!(parseInt(month, 10) <= 12)) {
       return false;
    }
    expiry = new Date(month);
    currentTime = new Date;
    expiry.setMonth(expiry.getMonth() - 1);
    expiry.setMonth(expiry.getMonth() + 1, 1);
    return expiry > currentTime;
};

然后我

$('#month-holder').toggleClass('invalid',
!$.payment.validateCardMonthExpiry($('#month-holder').val()));

我的领域不会验证我的意思是永远无效

<input type="text" name="month-holder" id="month-holder" 
class="input-txt width-65 cc-exp-mm" placeholder="MM" 
maxlength="2" pattern="\d*" x-autocompletetype="cc-exp-mm" required>

1 个答案:

答案 0 :(得分:1)

$.payment.validateCardMonthExpiry = function(month) {
var currentTime, expiry;
if (!month) {
        return false;
}
onth = $.trim(month);
if (!/^\d+$/.test(month)) {
        return false;
}
if (!(parseInt(month, 10) <= 12)) {
        return false;
}
expiry = new Date(month);
   currentTime = (new Date).getMonth() + 1;
   return expiry > currentTime;
};

这是答案