繁体   English   中英

日期选择框的Java验证

[英]Javascript validation of date select boxes

我创建了3个包含日期,月份和年份的选择框。 我真正想要的是在用户选择日期后检查,如果该日期距离当前日期已超过一年,则会显示一条消息。

我在做什么上有些困惑。 任何的陪伴都会很棒。

谢谢

var ddlYear = document.getElementById('ddlYear');
var ddlMonth = document.getElementById('ddlMonth');
var ddlDay = document.getElementById('ddlDay');

var y = ddlYear[ddlYear.selectedIndex];
var m = ddlMonth[ddlMonth.selectedIndex];
var d = ddlDay[ddlDay.selectedIndex];

// past
var dt = new Date((y+1), (m-1), d);
var moreThanOnYearAgo = dt < new Date();

// future
var dt2 = new Date((y-1), (m-1), d);
var moreThanOnYearAhead = dt2 > new Date();

y+1是因为如果我们加一年,并且仍然小于new Date() (今天),则它大于一年前。

之所以使用m-1是因为Date构造函数中的月份是一个枚举,这意味着January是0。

一年中有31556926000毫秒。 只需将该日期转换为时间戳并从中减去当前日期即可。 如果结果大于31556926000,则超过一年。

var userDate = new Date("11/29/2010");
var now      = new Date();
var year_ms  = 31556926000;

if ( userDate.getTime() - now.getTime() >= year_ms ) {
    // A year away
} else {
    // less than a year away
}

不要再浪费时间了。 使用进行验证

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM