jQuery验证规则中的信用卡到期日期addMethod将来限制20年

Nei*_*eil 4 jquery future credit-card jquery-validate

嗨我在jquery验证规则validator.addMethod上有一些代码,允许输入检查卡到期日的未来日期,即10/2015有效,我想问的是有一种方法可以添加最多20年的限制在将来,他们可以进入10/2099或更高的卡有效期.提前致谢!

这是我的代码,它还需要一个自定义消息.超过日期范围

<input type="text" name="field_4"  id="field_4" value="">



 $.validator.addMethod(
        "Future",
        function (value, element) {
            var today = new Date();
            var startDate = new Date(today.getFullYear(),today.getMonth(),1,0,0,0,0);
            var expDate = value;
            var separatorIndex = expDate.indexOf('/');
            expDate = expDate.substr( 0, separatorIndex ) + '/1' + expDate.substr( separatorIndex );
            return Date.parse(startDate) <= Date.parse(expDate);
        },
        "Must be a valid Expiry Date"
        );

        $(function() {

        $( "#Form" ).validate({
          rules: {    
            field_4: {
                required: true,
                Future: true,
                minlength: 7
                },
Run Code Online (Sandbox Code Playgroud)

Ale*_* K. 8

单程:

function (value, element) {
    var today = new Date();
    var thisYear = today.getFullYear();
    var expMonth = +value.substr(0, 2);
    var expYear = +value.substr(3, 4);

    return (expMonth >= 1 
            && expMonth <= 12
            && (expYear >= thisYear && expYear < thisYear + 20)
            && (expYear == thisYear ? expMonth >= (today.getMonth() + 1) : true))
}
Run Code Online (Sandbox Code Playgroud)