Javascript 在jquery掩蔽中遵循mm/dd/yyyy的限制?
我在我的项目中使用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
<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
- 第一个数字
patterny
:第一个数字可以是[1-2]\d{3}
或1
,然后应该是3个数字2
[0-9]