2010-06-23 83 views
0

有人能帮助我....如何验证javascript日期这个问题:JS进行验证日期范围

用户选择的开始日期和结束日期将选择从一开始之日起超过90天。用户可如果跌破90天结束日期发送形式...

from date code : 
<input name="fromDate" type="text" id="fromDate" size="10" maxlength="10" onChange=""> 
<a href="#" name="anchorFrmDate" id="anchorFrmDate" onClick="calFrmDate.select(document.forms[0].fromDate,anchorFrmDate,'dd/MM/yyyy'); return false;">DATE</a> 

to date code: 
<input name="Todate" type="text" id="Todate" size="10" maxlength="10" onChange=""> 
a href="#" onClick="calToDte.select(document.forms[0].Todate,'anchorToDte','dd/MM/yyyy'); return false;" name="'anchorToDte'" id="'anchorToDte'"><strong>DATE</strong></a> 

我试过和低于我的代码...但没有成功......我做这部分错误

function checkDateRange(fromDate, Todate) { 
    // Parse the entries 
    var startDate = Date.parse(fromDate); 
    var endDate = Date.parse(Todate); 
    // Make sure they are valid 
    if (isNaN(startDate)) { 
     alert("The start date provided is not valid, please enter a valid date."); 
     return false; 
    } 
    if (isNaN(endDate)) { 
     alert("The end date provided is not valid, please enter a valid date."); 
     return false; 
    } 
    // Check the date range, 86400000 is the number of milliseconds in one day 
    var difference = (endDate - startDate)/(7776000000); 
    if (difference < 0) { 
     alert("The start date must come before the end date."); 
     return false; 
    } 
    if (difference <= 1) { 
     alert("The range must be at least seven days apart."); 
     return false; 
    } 
    return true; 
} 
+0

我真的希望这是一个家庭作业。 – 2010-06-23 03:43:42

+0

yup ...我刚刚学习 – rick 2010-06-23 03:49:13

+0

dup?这里的答案是? http://stackoverflow.com/questions/73971/using-javascript-how-do-i-make-sure-a-date-range-is-valid – Jubal 2010-06-23 03:33:17

回答

0

这里是一个粗略的草图:

var startDateText = ... 
var NINETY_DAYS = 1000 * 3600 * 24 * 90; 
var startDate = new Date(startDateText); 
var maxEndDate = startDate.getTime() + NINETY_DAYS; 
.. 
var endDateText = ... 
var endDate = new Date(endDateText); 
if (endDate.getTime() > maxEndDate) { 
    Window.alert("Too late"); 
}