2014-01-09 239 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