Solo permitir números, retroceder y borrar claves en el texto de entrada

Tengo este texto de entrada en una página HTML5:

= 48 && event.charCode  

Porque necesito un texto de entrada que permita solo números, pero también podría necesitar eliminar un número. Cuando presiono la tecla de retroceso o borro nada pasa.

El código anterior solo permite números. ¿Cómo puedo permitir también retroceder y borrar?

keypress event keypress solo da salida del código de letras. Utilice keydown en keydown lugar.

El evento de pulsación de tecla se activa cuando se presiona una tecla y esa tecla normalmente produce un valor de carácter (en su lugar, utilice la entrada).

  

Estoy usando e.which porque keydown produce pero, como dice el documento, el which está en desuso y la key debe usarse en su lugar (incluso si no está completamente implementado)

Echa un vistazo a los documentos Fiddle y Keypress

No debe utilizar el evento keypress, sino el evento keyup o keydown porque el evento keypress está diseñado para caracteres reales (imprimibles). “keydown” se maneja en un nivel inferior para que capture todas las claves que no se imprimen como DEL y ENTER

esta función jquery lo hace

 $('#id').keypress(function(e) { var a = [46]; var k = e.which; console.log( k ); a.push(8); a.push(0); for (i = 48; i < 58; i++) a.push(i); if (!($.inArray(k,a)>=0)) e.preventDefault(); });