Questa funzione fa un controllo sintattico della stringa data con una regular expression. Passato il controllo sintattico sfrutto l'oggetto Date per verificare che si tratti di una data valida
se la data è valida restituisco l'oggetto data (potrebbe servire) in caso contrario restituisco false
Posso commentarti la funzione
spero ti sia più chiaro oracodice:function dataValida(txt){ //regular expression per il formato gg/mm/aaaa var re = /^\d{1,2}\/\d{1,2}\/\d{4}$/ //se il formato è valido vado avanti coi controlli if(re.test(txt)){ //splitto la stringa data sul carattere / così avrò l'array adata con 3 elementi var adata = txt.split('/'); //metto in variabili il giorno il mese e l'anno convertendo da stringa a intero //primo elemento dell'array il giorno var gg = parseInt(adata[0],10); //secondo elemento dell'array il mese var mm = parseInt(adata[1],10); //terzo elemento dell'array l'anno var aaaa = parseInt(adata[2],10); //creo un oggetto data (i mesi in js vanno da 0 a 11 quindi tolgo 1) var xdata = new Date(aaaa,mm-1,gg) //guardo se l'oogetto data corrisponde alla stringa data if((xdata.getFullYear()==aaaa) && (xdata.getMonth()==mm-1) && (xdata.getDate()==gg)) return xdata else return false }else return false }
![]()

Rispondi quotando