2012-03-14 84 views
0

我有一個表格,它以12H格式記錄事件的開始時間和結束時間。如果結束時間大於開始時間,我需要驗證它是否顯示錯誤,如「結束時間應該大於開始時間」。但是我主要管理它,但是如果用戶將開始時間「12:30 PM」和結束時間「01:00 PM」(這是有效的時間)放入它仍然顯示錯誤,則會出現問題。我如何在客戶端驗證中管理這個?我在客戶端使用JavaScript。jquery中的時間驗證

回答

0

那麼我結束了這段代碼:

var s = new Date("03/02/2012 12:30 pm"); 
var e = new Date("03/02/2012 01:00 pm"); 
if(s.getTime() < e.getTime()) 
{ 
    document.write('Valid Time'); 
} 
else 
{ 
    document.write('Invalid Time'); 
} 
+0

在臉上都是一樣的。 – 2012-03-14 15:59:26

+0

是的,但我認爲它比以上更可讀... – 2012-03-14 16:22:45

+0

這是因爲你硬編碼的時間值。 – 2012-03-14 16:31:39

2

下面是如何通過純JS完成的。

var s = "12:30 pm"; 
var e = "01:00 pm"; 
var base = "Wed, 09 Aug 1995 "; 
var start_d = Date.parse(base+s.substr(0, 5)+":00"+s.substr(5)); 
var end_d = Date.parse(base+e.substr(0, 5)+":00"+e.substr(5)); 

if(start_d<end_d){ 
// range is valid; 
} 
+0

我曾嘗試你的代碼,但是當我打印控制檯start_d和end_d值它顯示「男」兩種。 – 2012-03-14 07:52:39

+0

@ShayanHusaini,那是因爲我使用了'substr(6)'。現在我已經更新到'substr(5)'。如果你回聲start_d它會顯示'807949800000' – 2012-03-14 07:55:18

+0

是的,現在我已經得到的值,但它仍然認爲start_d大於end_d。這裏不是這種情況 – 2012-03-14 07:58:36