La funzione controllaNumeri si puo` anchre fare corretta e molto piu` semplice.

Prova con la tua a scrivere "12e5": dovrebbe accettarlo.

Vedi invece questa:
codice:
function controllaNumeri(cc) {
  var vv = cc.value;
  if(!vv.match(/^[\d\.]*$/) {
    alert("Il campo "+cc.name+" deve contenere solo numeri");
    cc.value = vv.substr(0,vv.length-2);
    cc.focus(); 
    return false;
  }
  return true;
}
Da chiamare con:
onkeyup="controllaNumeri(this);"

La funzione permette solo numeri e il punto, ma si puo` modificare. Purtroppo permette anche piu` di un punto, ma farla che permetta un solo punto diventa molto piu` complessa.