codice:
<script>
var data=new Date();
var dataFuturoMassima=new Date();
var dataPassatoMinima=new Date();
dataFuturoMassima.setDate( data.getDate() +30); //getDate setta i GIORNI, per cui puoi aggiungerci il limite massimo di tua scelta.
dataPassatoMinima.setDate( data.getDate() -30); //stessa cosa, ma setta il limite a 30 giorni prima
//ora, per verificare che una data sia in quel range:
var unadata=new Date();
unadata.setDate(15); unadata.setMonth(0/*0=gennaio*/); unadata.setFullYear(2011);//setta qui per i tuoi test, ad esempio prova a metter 9 anzichè 15
if( unadata.getTime()>=dataPassatoMinima.getTime() && unadata.getTime()<=dataFuturoMassima.getTime() ){alert('ok');}
else{alert('fuori range');}
</script>