如何使用java脚本检查文本框中输入的日期是否小于今天的日期?
我正在使用代码
var currentDate_Month = new Date().valueOf().getMonth();
var currentDate_Date = new Date().getDate();
var currentDate_Year = new Date().getFullYear();
var EnterDate_Month = new Date(document.getElementById('ctl00_ContentPlaceHolder1_txtDateReceived').value).getMonth();
var EnterDate_Date = new Date(document.getElementById('ctl00_ContentPlaceHolder1_txtDateReceived').value).getDate();
var EnterDate_Year = new Date(document.getElementById('ctl00_ContentPlaceHolder1_txtDateReceived').value).getFullYear();
if(EnterDate_Year<currentDate_Year) {
if(EnterDate_Month<currentDate_Month) {
if(EnterDate_Date<currentDate_Date) {
}
}
}
else {
str += '</br>* Date should be Less than or equals to current Date.';
return false;
}
但令我惊讶的是,文本框控件中的当前日期是2014年6月7日星期六查看时 -
new Date(document.getElementById('ctl00_ContentPlaceHolder1_txtDateReceived').value).toDateString();
为什么以这种格式返回日期? (文本框中的日期格式为dd / mm / yyyy)
提前感谢。
答案 0 :(得分:2)
您可以简化代码:
var today = new Date();
var enterDate = new Date(Date.Parse(document.getElementById('ctl00_ContentPlaceHolder1_txtDateReceived')));
if (enterDate.valueOf() < today.valueOf())
{
// To what you have to do...
}
答案 1 :(得分:2)
Date()可以初始化为
Date("mm/dd/yyyy")
由于这是采用的方法,因此dd / mm / yyyy的格式是不可能的。您的案例中最好的方法是执行以下操作
dateFields = (document.getElementById('ctl00_ContentPlaceHolder1_txtDateReceived').value.split('/')
date = Date(dateFields[2],dateFields[1]-1, dateFields[0])
这将采用
格式Date(year, month, date)
然后,您可以将文本框日期与当前日期进行比较
date < Date.now()