2010-06-23 84 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"); 
}