2012-03-14 83 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