2012-02-25 56 views
0

我有两个装有jquery masked date input的文本框。什么是有效和准确的日期比较使用jQuery的方式?

<input type="text" id="frm_date" name="frm_date" /> 

<input type="text" id="to_date" name="to_date" /> 

在蒙面输入的帮助下,值被'/'分隔,并采取了类似02/03/2011的内容。

我想准确验证TO的日期不应低于开始日期,从开始日期不应该大于TO日期,并且TO date和FROM日期不应该相等,只需给出警告框通知用户更正这些值。

这样做的最好方法是什么?

回答

0

你想要一个日期选择器吗? jsFiddle

$('#to_date, #frm_date').datepicker({ 
    onSelect: function(dateText, inst) { 
     var from, to, fromText, fromArray, toText, toArray; 

     fromText = $('#frm_date').val(); 
     toText = $('#to_date').val(); 

     if(fromText && toText){ 
      fromArray = fromText.split('/'); 
      toArray = fromText.split('/'); 
      from = new Date(parseInt(fromArray[2], 10), parseInt(fromArray[0], 10), parseInt(fromArray[1], 10)); 
      to = new Date(parseInt(toArray[2], 10), parseInt(toArray[0], 10), parseInt(toArray[1], 10)); 

      if(from.getTime() >= to.getTime()){ 
       alert('start after finish date!') 
      } 
     } 
    } 
}); 

或用裸输入:

$('#to_date, #frm_date').change(function() { 
    var from, to, fromText, fromArray, toText, toArray; 
    //same everything here 
}); 

2

你应该使用JavaScript Date Object

  1. 将您的日期,Date对象,调用setFullYear()或只使用日期函数的构造。
  2. 将您的日期与getTime()函数进行比较。