Вход

Просмотр полной версии : Маска "цена" регулярные выражения


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
Т.е. если поставил запятую то не разрешать вводить больше 2 чисел.
можно просто обрезать лишнее, скок он бы не вводил цифр после запятой (Хотя в JS разделитель - точка

function floatLengthToFixed (a) { return(+a.replace(/,|\./,'.')).toFixed(2);}

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