Как не допустить ввведение не корректных данных?
Input для заполнение стоимости продукции. На момент ввода корректируется данные, не допуская ввода все кроме чисел и знака ",". Если запятая была первым символом, добавить в начало 0.
Есть ли способ это сделать лучше?
HandlerChange = e => {
const $el = e.target;
if($el.value[0] === ','){
$el.value = 0+$el.value;
}
$el.value = $el.value.replace(/[^0-9,]+/g, '').split(',').slice(0,2);
},
HandlerBlur = e => {
const $el = e.target;
$el.value = (+$el.value.replace(',', '.')).toFixed(2).replace('.',',');
}
Ответы (1 шт):
Автор решения: Locker
→ Ссылка
const input = document.querySelector("input");
input.addEventListener("input",({target})=>{
const value = target.value;
target.value = target.value.replace(/^,/,0+value)
.replace(/[^0-9,]/g,'')
})
<input />
Есть вариант с input type="number"
<input type=number step=0.01 />