Javascript - Маска десятичного числа - PullRequest
1 голос
/ 15 апреля 2020

У меня есть вход, который должен просто разрешать десятичные значения, такие как 1000.20, 10.00. Десятичная дробь не должна отображаться с точностью до сотого знака после запятой.

Сначала мне нужно очистить любое значение, которое не является числом или точкой. Я пытался следовать этому регулярному выражению, но он просто позволяет цифры:

    event.target.value = event.target.value.replace(/\D/g, '');

Как я могу сделать маску для этого?

Ответы [ 2 ]

0 голосов
/ 15 апреля 2020

Вы можете нарезать строку, считая два символа справа, и добавить к ней точку.

Примерно так

let number = event.target.value.replace(/\D/g, '');
event.target.value = number.slice(0,-2)+'.'+number.slice(-2);
0 голосов
/ 15 апреля 2020

Вы можете использовать онлайн-тестер регулярных выражений, чтобы найти регулярное выражение;)
Но возможный ответ будет таким: ^/\d+(\.\d{1,3})?$/gm
https://regex101.com/r/UnpNOG/1

...