y se puede simplificar aun mas
Código:
<script>
function soloNumeros(evt) {
var tecla = String.fromCharCode(evt.which || evt.keyCode);
if ( !/[\d.\b\r]/.test(tecla) ) return false;
return true;
}
</script>
<input type="text" id="texto" onkeypress="return soloNumeros(event);"
La expresion regular acepta digitos, punto, retroceso y enter