Premesso che facendo il controllo con evento onblur (cioè alla perdita del fuoco del oggetto) non tutti i browser si comporteranno alla stessa maniera passando il il fuoco all'oggetto abbandonato, che io sappia non c'è soluzione.
codice:
function controllanumero(num) 
{
numero = document.getElementById(num).value;
if (isNaN(numero)) 
{ 
alert("Inserire un numero positivo!");
numero="";
document.getElementById(num).focus();
} 

}