js wyłącza funkcjonalność backspace w Firefoksie

Mam następujące javascript, aby uniemożliwić użytkownikowi wprowadzanie nieprawidłowych znaków w polu tekstowym. Działa dobrze w Chrome, ale nie w Firefoxie. To uniemożliwiabackspace klucz do wpisania w polu tekstowym 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(); 
    }
}

Czy ktoś może spojrzeć i zaproponować poprawkę dla firefoxa, aby nie uniemożliwić klawiszowi backspace działania w polu tekstowym?

Prawdopodobnie myślę, że dodanie wyrażenia regularnego dla znaku backspace wykona zadanie tutaj. Czy ktoś wie, jak dodać wyrażenie regularne do dopasowaniabackspace

Edytować:

Ponadto powyższy kod powinien zostać przerwany przezPatka kluczowe zachowanie, nie mogę przeskoczyć do kolejnych pól w formularzu za pomocąPatka klawisz.

questionAnswers(2)

yourAnswerToTheQuestion