javascript - Comparing date fields in case of leap years -


i want compare 2 date fields.. have gotten pretty close , works fine..

but problem comes when "todate" field

leap year>= "fromdate" 

for eg:

from date= 29/02/1996 date= 29/02/1996 date= 29/02/1992 date= 29/02/1995 

the code works fine..

but if

from date= 29/03/1996 date= 29/02/1996 

the code fails...

this code

function isdate(value) {     var fromdate = document.getelementbyid("fromdate").value     var todate= document.getelementbyid("todate").value     var dateregex = null;     dateregex = new regexp(/^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/g);      if (dateregex.test(fromdate)){     }     else{         alert("invalid date");         return false;     }     dateregex = new regexp(/^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/g);     if(dateregex.test(todate)) {     }     else{         alert("invalid date");         return false;     }     var stdate = new date(fromdate);     var endate = new date(todate);     var compdate = endate - stdate;      if(compdate > 0)         return true;     else     {         alert("please enter correct date ");         return false;     }     /**/ } 

how make work leap years...where have make changes in code.

this excelent jquery plugin want: http://momentjs.com/


Comments

Popular posts from this blog

c# - Operator '==' incompatible with operand types 'Guid' and 'Guid' using DynamicExpression.ParseLambda<T, bool> -