@newaitix

Замена запятой на точку, после точки может идти только 2 цифры?

inp.value=inp.value.replace(/[^\.0-9]/gim,'');
Как ограничить количество вводимых цифр после запятой двумя ?
До запятой может быть сколько угодно цифр !
  • Вопрос задан
  • 285 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Может, не усложняя, просто конвертировать в число, а из него брать toFixed()

Fiddle

input.value = parseFloat(e.target.value).toFixed(2);


Позиция курсора в поле: свойство selectionStart
const pos = e.target.selectionStart; // запомнить положение курсора
// magic
e.target.selectionStart = e.target.selectionEnd = pos; // восстановить


Код обработчика
const pos = e.target.selectionStart;
  let v = parseFloat(e.target.value);
  if( isNaN(v)) v = 0;
  
  e.target.value = v.toFixed(2)
  e.target.selectionStart = e.target.selectionEnd = pos;
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
profesor08
@profesor08 Куратор тега JavaScript
Пусть вводит сколько хочет, на сервере придется проверять, более того, отправить можно будет что угодно.
<input type="number" step="0.01" value="1.00">

document.querySelector("input").addEventListener("input", function() {
	this.value = parseFloat(this.value).toFixed(2);
});
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы