js deshabilitando la funcionalidad de retroceso en firefox

Tengo el siguiente javascript para evitar que el usuario ingrese caracteres no válidos en un campo de texto. Está funcionando bien en Chrome pero no en Firefox. Es prevenir elretroceso Tecla para ser ingresada en el campo de texto en firefox.

function onlyNumbers(evt) {
    var theEvent = evt || window.event;
    var key = theEvent.keyCode || theEvent.which;
    key = String.fromCharCode( key );
    var regex = /[0-9]|\./;
    if( !regex.test(key) ) {
        theEvent.returnValue = false;
        if(theEvent.preventDefault) theEvent.preventDefault(); 
    }
}

¿Alguien puede echar un vistazo y proponer una solución para que Firefox no impida que la tecla de retroceso actúe en un campo de texto?

Probablemente supongo, agregar la expresión regular para el carácter de retroceso haría el trabajo aquí. ¿Alguien sabe, cómo agregar el regex para que coincida con elretroceso

Editar:

Además, el código anterior ha supuesto interrumpir con elLengüeta comportamiento clave, no puedo saltar a los siguientes campos en el formulario usandoLengüeta llave.

Respuestas a la pregunta(2)

Su respuesta a la pregunta