Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.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_Html_Date_Input - Fatal编程技术网

Javascript 验证日期输入-最小值和最大值

Javascript 验证日期输入-最小值和最大值,javascript,html,date,input,Javascript,Html,Date,Input,我对HTML5有一个小问题 <input type="date" id="birthday" /> 我想在JavaScript中检查此字段 最小值-01-01-1990 我不知道如何解析date对象并检查它是否正确 HTML5中的属性min和max不起作用。我必须用JavaScript编写验证。您可以使用JavaScript验证库,它使用HTML5输入属性,如min和max:例如: 更新的fiddle:检查这个:input type=“text”pattern=“\d{1,2}

我对HTML5有一个小问题

<input type="date" id="birthday" />

我想在JavaScript中检查此字段

最小值-01-01-1990

我不知道如何解析date对象并检查它是否正确


HTML5中的属性min和max不起作用。我必须用JavaScript编写验证。

您可以使用JavaScript验证库,它使用HTML5输入属性,如min和max:例如:


更新的fiddle:

检查这个:input type=“text”pattern=“\d{1,2}/\d{1,2}/\d{4}”很遗憾,我不能使用jQuery。我所有的东西都是用JavaScript写的。除了田地以外,什么都能用。Link:我必须使用Ajax对数据库进行检查登录,但稍后会进行检查;)我刚刚添加了一个没有jQuery的版本。如果您需要IE支持,您可能需要为addEventListener提供一个替代方案。当然,您需要验证服务器上的输入。希望这有帮助。非常感谢;)稍加修改后,一切正常。对不起,我的英语不好,但我希望你能理解一切:)你的31-12订单是反向的。“使用RFC3339中定义的YYYY-MM-DD模式将值设置为有效的日期字符串。”
<input id="mydate" name="mydate" type="date" min="2000-01-01" max="2010-31-12" required />

<script>
    $("#mydate").validate();
</script>
<input id="mydate" name="mydate" type="date" min="2000-01-01" max="2010-31-12" required />
<span id="mydate_error" style="display:none;"></span>

<script>
    var mydate = document.getElementById('mydate'),
        mydateError = document.getElementById('mydate_error');

    mydate.addEventListener('input', function() {
        if (!mydate.value.match(/\d{4}-\d{1,2}-\d{1,2}/)) {
            mydateError.innerHTML = 'Please specify a valid date in the form 1990-02-22';
            mydateError.style.display = 'inherit';
        } else {
            var value = new Date(mydate.value),
                min = new Date(mydate.min),
                max = new Date(mydate.max);
            if (value < min || value > max) {
                mydateError.innerHTML = 'Date has to be between ' + min.toDateString() + ' and ' + max.toDateString();
                mydateError.style.display = 'inherit';
            } else {
                mydateError.style.display = 'none';
            }
        }
    });
</script>