codice:

data 1<input type="text" id="data_1" 
onchange="return controlla_data(document.getElementById('data_1'));"></p>


data 2 <input type="text" id="data_2"
onchange="return controlla_data(document.getElementById('data_2'));"></p>

function controlla_data(data)
{       
    var espressione = /^(0[1-9]|[1-2]\d|3[0-1])\/(0[1-9]|1[1-2])\/(200[7-9])$/;      
    if (!espressione.test(data).value)
    {
    	alert("La data è inserita in un foormato sbagliato. \n\n
                Inserire la data nel formato dd/mm/yyyy.");
	data.focus();
	return false;
    }
}
se scrivo nel primo campo una qualsiasi cosa diversa da dd/mm/yyyy, clicco da qualche parte nella pagina mi parte l'alert che mi avvisa e mi metto il focus sul primo campo. Però se dopo aver inserito una cosa sbagliata io faccio TAB, mi parte l'alert ma però dopo mi va sulla seconda data, il focus per rimanere sulla prima data non mi funziona.

consigli?
Voglio ottenere questo: finchè non inserisci il formato dd/mm/yyyy, non esci da quella casella di testo (so che è una forzatura, ma è quello che mi serve). In pratica forse basterebbe bloccare il tab se il formato è sbagliato... se avete altre soluzioni o suggerimenti, dite pure