Задать вопрос

Как добавить пробел (между тысячами) в строке input?

Пример:
https://codepen.io/workcode/pen/qBBEMXj

Проблемы:
1) До 4-ой цифры все окей, но 5-ю цифру даже написать не могу
2) Если удалить все цифры, то получаю в input что "это не число", сделал проверку, но не срабатывает
3) Проблема с точкой, то не могу поставить точку
  • Вопрос задан
  • 1038 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 1
@dimoff66
Кратко о себе: Я есть
1) Перед проверкой паттерна тоже удалите из него пробел, будет давать ввести больше 4 цифр
if (!(value..replace(/\s/g, '').match(pattern))

onkeyup перепишите в виде
document.getElementById('input').onkeyup = function() {
  val_input = document.getElementById('input').value;
  val_input = val_input.replace(/\s/g, '');

  if (!val_input) return;
  var hasDotAtTheEnd = val_input.endsWith('.');
  
  val_input = Number.parseFloat(val_input)
  if (isNaN(val_input)) return  
  
  document.getElementById('input').value = val_input.toLocaleString('ru').replace(',', '.') + (hasDotAtTheEnd ? '.' : '');
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы