我需要验证我的日历,以便它只接受当前或未来的日期?

时间:2014-09-09 09:00:55

标签: javascript function date

您好我正在尝试编写一个JavaScript函数,只允许使用日历进行日后选择。

我很困惑。我想比较用户的输入和当前日期然后传回一个真或假的返回,然后会出现错误信息。

这是我的if语句代码:

if (this.element.find('#visitdate').length > 0)
{
    var check = this.element.find('#visitdate');
    var today = new Date().getTime();

    if (!check.text(today??) < 0)
    {
        _errMsg = "Please enter a future date";
        return false;
    }
    else 
    {
        return true;
    }
}

任何人都可以带领我走向正确的方向。

2 个答案:

答案 0 :(得分:1)

如果您使用jquery ui,则可以设置参数minDate,因此只允许将来的日期和当天:

$(function() {
$( "#visitdate" ).datepicker({ minDate: 0 });
});

示例:http://jsfiddle.net/lparcerisa/Lwpyr09k/2/

修改:如果您不允许这样做,您可以检查这样的日期(如果您希望标准输入):

var check = Date.parse($('#visitdate').val());
var today = new Date().getTime(); 
if (check < today) { ... }

或者这个,例如使用日期d / m / Y:

var dateParts = $('#visitdate').val().split('/');
var check = new Date(dateParts[2], dateParts[1], dateParts[0], 0,0,0,0).getTime();
var today = new Date().getTime(); 
if (check < today) { ... }

提示第一个选项:http://jsfiddle.net/lparcerisa/pr0b0n6z/

小提琴选项:http://jsfiddle.net/lparcerisa/phnvvza3/1/

答案 1 :(得分:0)

过滤文本值,如下所示:

if (!check.text() == today)