Javascript 在jquery掩蔽中遵循mm/dd/yyyy的限制?

Javascript 在jquery掩蔽中遵循mm/dd/yyyy的限制?,javascript,jquery,masking,Javascript,Jquery,Masking,我在我的项目中使用jquery掩蔽来允许日期为mm/dd/yyyy,如下所示 <script src="Scripts/jquery.maskedinput-1.2.2.min.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function () { //Input Mask for date of birt

我在我的项目中使用jquery掩蔽来允许日期为mm/dd/yyyy,如下所示

<script src="Scripts/jquery.maskedinput-1.2.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function () {

        //Input Mask for date of birth or date in general
        $("#txtDOB").mask("99/99/9999");

    });
</script>

$(文档).ready(函数(){
//输入出生日期或一般日期的掩码
$(“#txtDOB”).mask(“99/99/9999”);
});
但目前用户可以为月份输入大于12和0的任何值。同样,对于大于31天的天数。有 一种我可以限制的方式,这样用户就不能为mm键入超过12或0的内容。同样地,他可以在几天内输入31或0以上


我在提交时进行了java脚本验证,但是有没有办法限制while类型?

可以尝试类似的方法

    if ($(day).val() > 31 || $(month).val() > 12 || $(year).val() > 2014) {
            $(this).val('');
    }
试试这个:

$("#txtDOB").mask('d/m/y', {'translation': {
    d: {pattern: /[0-2]?\d|3[0-1]/}, 
    m: {pattern: /0[1-9]|1[0-2]/},  
    y: {pattern: /[1-2]\d{3}/}
  }
});
已更新 面具有三个部分,
d
天、
m
月、
y
年(如果你愿意,你可以切换订单),我制作了3个正则表达式,每个正则表达式一个

  • d
    模式:有两个可能的匹配项(两个选项),由
    |

    • 第一个
      [0-2]?\d
      第一个数字应该是
      0到2
      [0-2]
      )及其可选(
      )第二个数字可以是
      0-9
      \d
    • 第二个
      3[0-1]
      第一个数字是
      3
      ,第二个数字只能是
      0
      1
  • m
    模式:有两个选项由
    |

    • 第一个数字
      0[1-9]
      ,如果月份以
      0
      开始,第二个数字可能是
      1到9
    • 第二个数字
      1[0-2]
      ,如果月份以
      1开始,则第二个数字只能是
      0到2
  • y
    pattern
    [1-2]\d{3}
    :第一个数字可以是
    1
    2
    ,然后应该是3个数字
    [0-9]


您能解释一下这个正则表达式吗?非常感谢。我会试试,让你知道。