Javascript信用卡到期日验证

Javascript信用卡到期日验证,javascript,regex,Javascript,Regex,我目前正在使用javascript验证来验证用户输入的日期是否有效,但是,我当前的正则表达式模式无法验证用户输入的日期是否必须小于03/19。相反,它允许01/19和02/19等 我相信还有其他方法可以用javascript进行验证,但是我想知道是否有一种方法可以使用这个正则表达式 当前javascript: var errdiv = $(".error"); $("#form").validate({ rules: { cardmm: { require

我目前正在使用javascript验证来验证用户输入的日期是否有效,但是,我当前的正则表达式模式无法验证用户输入的日期是否必须小于03/19。相反,它允许01/19和02/19等

我相信还有其他方法可以用javascript进行验证,但是我想知道是否有一种方法可以使用这个正则表达式

当前javascript:

var errdiv = $(".error");
  $("#form").validate({
    rules: {
      cardmm: {
        required: true,
        minlength: 2,
        maxlength: 2,
        pattern: "^(1[0-2]|[0-9]|)$"
      },
      cardyy: {
        required: true,
        minlength: 2,
        maxlength: 2,
          pattern: "^(2[0-8]|19|)$"
      },
    },
    messages: {
      cardmm: {
        required: "Please enter valid details.",
        minlength: "Please enter valid details.",
        maxlength: "Please enter valid details.",
        max: "Please enter valid details.",
        pattern: "Please enter valid details."
      },
      cardyy: {
        required: "Please enter valid details.",
        minlength: "Please enter valid details.",
        maxlength: "Please enter valid details.",
        pattern: "Please enter valid details."
      },
    },
    errorPlacement: function(error, element, m) {
      errdiv.css({"display": "block"});
      errdiv.empty();
      errdiv.text(error[0].innerHTML);
    },
    success: function(error) {
        error.removeClass("error");  // <- no, no, no!!
        errdiv.css({"display": "none"});
    }
  });
var errdiv=$(“.error”);
$(“#表格”)。验证({
规则:{
卡德姆:{
要求:正确,
最小长度:2,
最大长度:2,
模式:“^(1[0-2]|[0-9]|)$”
},
卡迪:{
要求:正确,
最小长度:2,
最大长度:2,
模式:“^(2[0-8]| 19 |)$”
},
},
信息:{
卡德姆:{
必填:“请输入有效的详细信息。”,
minlength:“请输入有效的详细信息。”,
maxlength:“请输入有效的详细信息。”,
max:“请输入有效的详细信息。”,
模式:“请输入有效的详细信息。”
},
卡迪:{
必填:“请输入有效的详细信息。”,
minlength:“请输入有效的详细信息。”,
maxlength:“请输入有效的详细信息。”,
模式:“请输入有效的详细信息。”
},
},
errorPlacement:函数(错误,元素,m){
css({“display”:“block”});
errdiv.empty();
errdiv.text(错误[0].innerHTML);
},
成功:函数(错误){

error.removeClass(“error”);//您可以将问题分为两部分:一个用于2019年以上的任何日期的正则表达式,另一个用于2019年的特定月份,然后将它们合并到最终正则表达式中。

您始终可以调用一个组合mm和yy字段的小脚本 要作为一个整体进行验证的表单

用正斜杠连接字段

验证正则表达式是:

^((?:0?[3-9]| 1[0-2])/19 |(?:0?[1-9]| 1[0-2])/2[0-8])$

扩大

 ^ 
 (?:
      (?: 0? [3-9] | 1 [0-2] )
      /19
   |  
      (?: 0? [1-9] | 1 [0-2] )
      /2 [0-8] 
 )
 $ 

否则,它确实无法单独验证。

请添加一些输入和预期输出这些字段相互连接。您不能这样验证。您必须创建一个自定义验证器来检查这两个字段。