Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Маска "цена" регулярные выражения (https://javascript.ru/forum/misc/36362-maska-cena-regulyarnye-vyrazheniya.html)

adax 13.03.2013 10:08

Маска "цена" регулярные выражения
 
Как написать "цену" регулярными выражениями, например:

12000,56

доступны символы - естественно, числа, запятая и 2 знака после запятой.

Т.е. если поставил запятую то не разрешать вводить больше 2 чисел.

jsgeek 13.03.2013 10:46

Вот простой regex
/\b\d+,\d{2}\b/

adax 13.03.2013 11:11

А подробнее можно? чтобы можно было на лету фильтровать (keydown)

Deff 13.03.2013 13:03

Цитата:

Сообщение от adax
Т.е. если поставил запятую то не разрешать вводить больше 2 чисел.

можно просто обрезать лишнее, скок он бы не вводил цифр после запятой (Хотя в JS разделитель - точка
function floatLengthToFixed (a) { return(+a.replace(/,|\./,'.')).toFixed(2);}

var str = '22222222,222222222222'
alert(floatLengthToFixed (str))
var str = '333.33333333333333333333'
alert(floatLengthToFixed (str))


Часовой пояс GMT +3, время: 16:21.