验证日期输入 - 最小值和最大值
Validation date input - min and max value
我对HTML5有一个小问题。
<input type="date" id="birthday" />
我想在 JavaScript 中检查此字段。
最小值 - 01-01-1990。
我不知道如何解析日期对象并检查是否正确。
HTML5 中的属性最小值和最大值不起作用。我必须用 JavaScript 编写验证。
您可以使用 JavaScript 验证库,该库使用 HTML5 输入属性,如 min 和 max:例如 jQuery Validation:
<input id="mydate" name="mydate" type="date" min="2000-01-01" max="2010-31-12" required />
<script>
$("#mydate").validate();
</script>
看看这个小提琴作为一个工作的例子:http://jsfiddle.net/a5Mvt/1/
此外,您可能希望使用像 Modernizr 这样的库来检查浏览器对input[type="date"]
的支持,并使用 jQuery UI 中的日期选取器控件或类似控件(如果不支持)。
更新:这是一个不使用jQuery或任何其他附加库的版本:
<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>
更新的小提琴:http://jsfiddle.net/a5Mvt/2/
相关文章:
- Html5输入属性的默认值,如最小值、最大值、大小等
- 识别滑块范围的最小值和最大值
- 访问Highcharts系列的最小/最大值:afterSetExtremes不会激发
- 如何在拖动后获得图表的最小值和最大值放大高图表
- AngularJs:在数字输入字段中设置验证的条件最小值和最大值
- 具有最小和最大数字的十进制值的javascript正则表达式
- 使用Underscore从集合中获取最大和最小关键帧
- 如何在 JavaScript 中的数组列表中查找最大的数组值
- 在 JavaScript 中使用 for 循环编写代码,提示用户输入任意数量的数字,打印这些数字中最大和最小的数字
- 如何重置最大和最小范围的范围滑块上的按钮单击
- 如何在Javascript中从数组中获得最大的五个值
- 最大和最小允许或限制复选框
- Javascript——计算每个字符串表达式的频率,并从最大到最小打印出来
- bisectDate只返回最大或最小的i
- 根据二级数组中的第一个字符串从最大到最小的字符串大小对2维数组进行排序
- 获取dateinput最大和最小日期
- 显示最大和最小的值,在一个choropleth图例
- 在电子浏览器窗口中设置最大和最小大小
- 从数组中获取最大和最小日期
- 增加和减少字体大小限制最大和最小的jQuery