【问题标题】:jQuery (or javascript) validate date Range [duplicate]jQuery(或javascript)验证日期范围[重复]
【发布时间】:2012-06-20 13:33:35
【问题描述】:
【问题讨论】:
标签:
javascript
jquery
validation
date
【解决方案1】:
javascript 重载 > 和 < 比较运算符以处理日期。
if (yourDate > new Date('1/1/1753 12:00:00 AM') &&
yourDate < new Date('12/31/9999 11:59:59 PM')) {
// date is in your valid range
} else {
// date is not in your valid range
}
http://jsfiddle.net/jbabey/UB9NR/
请记住,javascript 验证仅用于性能,不会增加安全性;它应始终辅以服务器端验证。
【解决方案2】:
您可以尝试 jQuery 验证 plugin 在客户端处理此问题。 但不要只在客户端这样做。在发送到数据库之前,总是总是在服务器端执行此操作。
按照jQuerydocs,代码可以这么简单。
$("#myform").validate({
rules: {
field: {
required: true,
date: true
}
}
});
如果你想要自定义日期格式,这个answer 值得一看
【解决方案3】:
使用日期选择器插件http://jqueryui.com/demos/datepicker/#min-max
并使用日期范围方法限制用户输入错误的范围
http://jqueryui.com/demos/datepicker/#date-range
代码
$(function() {
$( "#from" ).datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 3,
onSelect: function( selectedDate ) {
$( "#to" ).datepicker( "option", "minDate", selectedDate );
}
});
$( "#to" ).datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 3,
onSelect: function( selectedDate ) {
$( "#from" ).datepicker( "option", "maxDate", selectedDate );
}
});
});