Удаление точки с конца строки при помощи регулярного выражения
У меня есть код, который разрешает пользователю ввод в поле input только числа, включая вещественные:
value.replace(/^\D/, "").replace(/[^.,\d]/g, '').match(/^\d+(?:[.,]\d{0,2})?|^\d+/)[0]
Но он пропускает числа вида 1.x и 1,x, т.е где есть точка или запятая, но отсутствует дробная часть.
Буду очень благодарен если поможете пофиксить этот баг.
Ответы (1 шт):
Автор решения: Vasily
→ Ссылка
Вы можете поступить следующим образом:
const processedValue = value
.replace(/^\D/, "")
.replace(/[^.,\d]/g, "")
.replace(/\.,$/, "")
.match(/^\d+(?:[.,]\d{0,2})?|^\d+/)[0]