日期“MM / YYYY”的jquery验证

时间:2013-10-21 11:23:36

标签: jquery validation date format

我正在使用jQuery Validation Plugin(http://jqueryvalidation.org)进行信用卡验证。如何使用此插件让它们以mm / yyyy格式准确输入日期?

jQuery.validator.setDefaults({
  debug: true,
  success: "valid"
});
$('form[name="submit_cc"]').validate({
  rules: {
    holder_name: {
      required: true,

    },
      cardnumber: {
      required: true,
      creditcard: true
    }


  }
});

感谢您的回答。

3 个答案:

答案 0 :(得分:2)

谢谢Lalit的答案。

jQuery.validator.setDefaults({
      debug: true,
      success: "valid"
    });
    jQuery.validator.addMethod(
            "trioDate",
            function(value, element) {
                return value.match(/^\d{1,2}\/\d{4}$/);
            },
            "Please enter a date in the format mm/yyyy"
        );

    $('form[name="cc_frm"]').validate({
      rules: {
      dob: {
                        required : true,
                        trioDate:true
                    },
        CardNumber: {
          required: true,
          creditcard: true
        },

         CardType: {

          required:  true
        }

      },


    });

答案 1 :(得分:0)

您可以使用addMethod函数创建自己的自定义验证方法。假设你想验证“mm / yyyy”:     “日期”,     function(value,element){         //把你自己的逻辑放在这里,这只是一个(糟糕的)例子         return value.match(/ ^ \ d \ d?/ \ d \ d \ d \ d $ /);     },     “请输入mm / yyyy格式的日期。” );并以您的形式$('#myForm')     .validate({         规则:{             我的约会 : {                 日期:真实             }         }     }) ;

答案 2 :(得分:0)

可能很重要的一点是要确认月份是月份还是年份是年份。我对正则表达式模式做了一些更改以提供帮助。

$.validator.addMethod('cardexpiry', function( value, element ) {
  return value.match("(0[123456789]|10|11|12)([/])([1-2][0-9][0-9][0-9])");
}, "Precisa ser no formato mm/aaaa" );