我有2個文本框是期望的日期格式mm/dd/yyyy
例:驗證日期範圍客戶端
03/20/2013
之前,我甚至懶得去Ajax調用,我想嘗試把這些變成JS日期。我怎麼能檢查:
Both Dates are in the mm/dd/yyyy format and if they are, then From must be less than to.
感謝
我有2個文本框是期望的日期格式mm/dd/yyyy
例:驗證日期範圍客戶端
03/20/2013
之前,我甚至懶得去Ajax調用,我想嘗試把這些變成JS日期。我怎麼能檢查:
Both Dates are in the mm/dd/yyyy format and if they are, then From must be less than to.
感謝
我推薦使用時刻爲這一個。 Moment是一個js庫,尤其適用於日期和評估日期。你的兩個文本框以字符串開頭,所以你需要初始化2 moment()
。然後驗證它們都是時刻對象。如果是這樣,那麼確保一個在另一個之後是一件簡單的事情。
這裏的鏈接到時刻:http://momentjs.com/
這裏的代碼,我可以使用:
var tb1 = $("#tb1").text(); // get string from "date box 1"
var tb2 = $("#tb2").text(); // get string from "date box 2"
//get timestamp val's so they can be used in moment initialization
var date1 = tb1.split("/");
var date2 = tb2.split("/");
//create moments
var mom1 = moment([date1[2], date1[1], date1[0]);
var mom2 = moment([date2[2], date2[1], date2[0]);
function validate(mom1, mom2){
//validate both dates are actual dates
if (mom1.isValid() && mom2.isValid()){
//compare timestamps to ensure 2nd timestamp is larger
if(mom1.unix() < mom2.unix()){
return true;
} else {
return false;
}
} else {
//strings aren't dates, return error
$.error("not valid dates");
}
}
有一個更簡單的啓動時刻,但爲了用戶的利益,我用更好的方式顯示發生了什麼。你也可以這樣初始化:'var mom1 = moment($(「#tb1」),「MM/DD/YYYY」);' – 2013-03-18 19:24:24
通常情況下,我會與通常的「你嘗試過什麼」,而是因爲我希望很多人會作出迴應爲了嘗試這個,我會發佈一個答案。 – 2013-03-18 19:19:22