问题描述
|
如何在jQuery中验证在输入文本框中输入的日期或HTML中的值(例如mm / dd / yyyy)不大于今天的日期。例如,“ 5/5/2011”将作为真实b / c通过,其值不大于今天“ 6/17/2011”,但是“ 5/5/3011”将大于今天并且应该返回false。是否有一个简单的函数可以返回true或false,如果格式为“ mm / dd / yyyy \”的日期大于javascript或jQuery中的今天的日期?
解决方法
只需将其转换为
Date
对象并将日期值与Date.now
进行比较-例如:
alert( Date.parse(\"3/1/2012\") > Date.now())
实际上,您根本不需要为此使用jQuery,纯JavaScript就足够了。有关更多信息,请查看Javascript0ѭ的文档。
, 转换为javascript Date对象进行比较。
, var d = new Date(\"5/5/2011\")
var d2 = new Date()
var b = d < d2 // << true...
, 首先,您需要确保日期具有通用格式。 2011年10月1日在美国(2011年10月1日)会在将来出现,而在英国(2011年1月10日)将在过去。如果满意的话,下面的方法就可以了:
function greaterThanToday(datestring) {
var today = new Date();
var date = new Date(datestring);
return (date > today);
}
alert(\"5/5/2011: \" + greaterThanToday(\"5/5/2011\"));
alert(\"5/5/3011: \" + greaterThanToday(\"5/5/3011\"));
, 甚至不需要jQuery,只需使用Date对象即可。
Date.parse(\"6/17/2011\") > Date.parse(\"5/5/3011\")