2014-01-09 300 views
-1

我使用的是JAVASCRPIT的数据验证javascript日期验证

<script type="text/javascript"> 
    function verifyDate(sender,args){ 
     var d = new Date();    
     d.setMonth(date.getMonth() - 1) 
     if (sender._selectedDate > d ) 
     { 
      alert("Error"); 
      sender._textbox.set_Value('') 
     } 
    } 
</script> 

上述验证是不允许明天的日期。

,但现在我想要的日期只能从上个月生效之日起到今天日期

为前应该允许从2013年9月31日到今天 怎么办被允许?

+1

询问代码的问题必须证明对问题的最小理解解决了。包括尝试解决方案,为什么他们没有工作,以及预期的结果。 –

+0

如果var selectedDate =“09/31/2013”​​它应该只允许直到“08/31/2013”​​,并且应该允许明天的日期 – user2380844

回答

0

这里是验证脚本验证:

1->所选日期应该不会比今天更大的日期

2->选择的日期应该是当前月份和上个月之间

var selectedDate = "12/31/2013 " 
dt = new Date(selectedDate); 
console.log(dt); 
// Tomorrow Date 
var nextDate=new Date(); 
nextDate.setDate(nextDate.getDate()+1); 
console.log(nextDate) 
// Date till last one month 
var pastDate=new Date(); 
pastDate.setDate(pastDate.getMonth()-1); 
console.log(pastDate) 
// Compare 
if(dt >= nextDate || dt < pastDate){ 
    console.log(" PUt till current date") 
}else{ 
    console.log(" date is accepted") 
} 

希望你想要same.Here是工作演示:http://jsfiddle.net/YRxpF/1/

+0

如果var selectedDate =“09/31/2013”​​它应该只允许直到“08/31/2013“ – user2380844

+0

@ user2380844:您想要验证的是什么。选择日期应该在距今天还是其他日期的1个月之内? –

+0

验证是:如果治疗日期是“2013年9月31日”,验证应该只允许“08/31/2013”​​到“09/31/2013”​​ – user2380844