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

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

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

Проблемы:
1) До 4-ой цифры все окей, но 5-ю цифру даже написать не могу
2) Если удалить все цифры, то получаю в input что "это не число", сделал проверку, но не срабатывает
3) Проблема с точкой, то не могу поставить точку
  • Вопрос задан
  • 964 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 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 ? '.' : '');
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 17:26
5000 руб./за проект
18 дек. 2024, в 17:23
1500 руб./за проект
18 дек. 2024, в 16:42
2000 руб./за проект