Добавлять пробел между числами?

Я пытаюсь ввести число. Я сделал так, что мое текстовое поле принимает только цифры через этот код:

function isNumber(evt) {
    evt = (evt) ? evt : window.event;
    var charCode = (evt.which) ? evt.which : evt.keyCode;
    if (charCode > 31 && (charCode < 48 || charCode > 57)) {
        return false;
    }
    return true;
}

Но теперь возникает вопрос, как бы мне создать пробелы, когда пользователь печатает их число, очень похоже на расстояние между телефонами в iPhone, но с цифрами, например, если они наберут: 1000, он станет 1 000;

1
10
100
1 000
10 000
100 000
1 000 000
10 000 000
100 000 000
1 000 000 000

И т.д...

Я попытался прочитать ввод справа для каждых 3 символов и добавить пробел. Но мой путь неэффективен, и когда я изменяю значение с 1000 на 1 000 в текстовом поле, он выбирает его по какой-то причине, делая любое нажатие клавиши после этого, стирая все это.

Если вы знаете, как это сделать, пожалуйста, воздержитесь от использования плагинов javascript, таких как jQuery. Благодарю вас.

Ответы на вопрос(2)

Ваш ответ на вопрос