Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在自定义日期的输入文本中输入最小值和最大值_Javascript_Date_Input - Fatal编程技术网

Javascript 如何在自定义日期的输入文本中输入最小值和最大值

Javascript 如何在自定义日期的输入文本中输入最小值和最大值,javascript,date,input,Javascript,Date,Input,我想知道如何在输入文本中为日期添加最小值和最大值。 我想要的格式是:dd/mm/yyyy 因此,我在输入中添加了maxlenght,并在用户键入2个数字后自动添加“/” 当我测试它时,一切都很好,但我仍然可以写“67/34/8888”,例如,不是一个正确的日期 这是我的密码: <form method="post" action="#" id="formStep2"> <input type="text" id="txtDate" class="selector" placeh

我想知道如何在输入文本中为日期添加最小值和最大值。 我想要的格式是:dd/mm/yyyy

因此,我在输入中添加了maxlenght,并在用户键入2个数字后自动添加“/”

当我测试它时,一切都很好,但我仍然可以写“67/34/8888”,例如,不是一个正确的日期

这是我的密码:

<form method="post" action="#" id="formStep2">
<input type="text" id="txtDate" class="selector" placeholder="dd/mm/yyyy" maxlength="10" required />
</form>

<script>
$(document).ready(function() {
    $("#txtDate").keyup(function(){
        if ($(this).val().length == 2){
            $(this).val($(this).val() + "/");
        }else if ($(this).val().length == 5){
            $(this).val($(this).val() + "/");
        }
    });
});
</script>
非常感谢您的帮助

您应该使用:

您应该使用:


是否使用日期选择器?另外,缓存
$(this)
并重用它。创建
$(this)
对象是一项相对繁重的操作。做一次
让$this=$(this)
重复使用
$this
如果($(this).val().length==2&&$(this.val().length>=1&&$(this.val().length嗨Jeremy,非常感谢你对$(this)的建议!我会看看我能用datepickerHi做些什么,谢谢你的回答看起来很简单,我会测试它:)这不是你需要的逻辑,我只插入了有效的代码。要添加到Jeremy的答案中,您还可以使用var eg
var x=$(this.val().length;如果(x==2&&x>=1&&x使用一个日期选择器?同样,缓存
$(this)
并重用它。创建
$(this)
对象是一个相对繁重的操作。执行一次
让$this=$(this)
并重用
$(this).val().length==2&$(this).val().length>=1&$(this).val().length你好Jeremy,非常感谢你对$(这个)的建议!我会看看我能用datepickerHi yezzz做些什么,谢谢你的回答看起来很简单,我会测试它:)这不是你需要的逻辑,我只插入了有效的代码。要添加到Jeremy的答案中,你也可以使用var eg
var x=$(这个).val().length;如果(x==2&&x>=1&&x嗨,安德烈,谢谢你的回答,我想避免使用“type=date”,因为我认为格式是mm/dd/yyyy,我被禁止使用日历(比如datepicker),但我似乎没有选择,显然最好使用type-date。谢谢:)该格式基于操作系统区域设置,您应该将其视为良好的用户体验居民。根据(和测试),输入类型日期不太受支持,特别是在桌面浏览器中。嗨,安德烈,谢谢您的回答,我想避免使用“类型=日期”因为我认为格式是mm/dd/yyyy,并且我被禁止使用日历(比如datepicker),但似乎我没有选择,而且显然最好使用date。谢谢:)格式基于操作系统的区域设置,您应该将其视为良好的用户体验居民。根据(和测试),输入类型日期不受很好的支持,尤其是在桌面浏览器中。
 if ($(this).val().length == 2 && $(this).val().min == 1 && $(this).val().max == 31){...}