有两个文本类型的输入字段以 mm/dd/yyy 格式写入开始日期和结束日期。我需要一个 JavaScript 函数来检查这些输入日期之间的日期范围间隔是否不超过 14 天。最大日期应该是当前日期。是否有插件或快速解决方案?我尝试使用可以正常工作的 jQuery UI datepicker,但是我有一个与 jQuery 冲突的自定义 GetElementByClassName 函数。
谢谢你。
有两个文本类型的输入字段以 mm/dd/yyy 格式写入开始日期和结束日期。我需要一个 JavaScript 函数来检查这些输入日期之间的日期范围间隔是否不超过 14 天。最大日期应该是当前日期。是否有插件或快速解决方案?我尝试使用可以正常工作的 jQuery UI datepicker,但是我有一个与 jQuery 冲突的自定义 GetElementByClassName 函数。
谢谢你。
下面的片段应该给你一些想法。
<script>
var date1 = '01/14/2011';
var date2 = '01/25/2011';
// calculate the number of days between date1 and date2
var daysBetween = new Date(date2).getTime() - new Date(date1).getTime();
alert('days between = ' + daysBetween / 86400000);
// check date3 against current date
var now = new Date();
var date3 = new Date('04/20/2011');
if (date3 < now)
alert('date3 is less than current date');
</script>
所以要组合成一个函数,你可以这样做:
<script>
function checkDates(date1, date2) {
// calculate the number of days between date1 and date2
var daysBetween = (new Date(date2).getTime() - new Date(date1).getTime()) / 86400000;
if (daysBetween > 14)
return false;
var now = new Date();
if (date2 < now)
return false;
return true;
}
我解决了这个问题,我发现 focusout 功能是符合我要求的最佳解决方案。jQuery代码:
$("#datefield").focusout(function () {
date = $("#datefield").val();
if (date > "2021-06-30" || date < "2020-07-01") {
alert("Please enter a valid date.");
$("#datefield").val("");
}
});