Очередная регулярка. Цена
Есть такая регулярка:
/^\b\d+,\d{2}\b$/ Она разрешает строку: (любое количество цифр)запятая(две цифры). Как сделать так, что бы можно было вводить целые значения: То есть если есть запятая, то после нее должно быть обязательно две цифры. Если нет запятой, то разрешить любое кол-во цифр. Спасибо |
Цитата:
alert(77777.7777.toFixed(2)) |
спасибо, но это совсем не то
|
Redya69,
/^\b\d+(,\d{2})?\b$/ |
Отлично, спасибо!
Только немного подправил: /^\b\d+(,\b\d{2})?$/ |
а если думать чуть меньше, то так :)
/^\b\d+,\d{2}\b$|^\d+$/ |
Redya69, а какой смысл тут вобще в этих \b? Начало и конец строки так и так являются границами слов, так ведь? То же самое и с запятой. Так что ты не "подправил" а просто переставил ненужный символ, от чего эффекту 0. Не так ли?
|
Я не помню уже какой именно эффект, но до перестановки она точно не работала как надо. Если очень интересно - попробуйте сами
|
Цитата:
re = /^\d+(,\d{2})?$/, re1 = /^\b\d+(,\d{2})?\b$/, re2 = /^\b\d+(,\b\d{2})?$/; var tests = { '1,10': true, '1000,10': true, '1,1': false, ',10': false, '10,100': false, ' 10,10': false, '10, 10': false, '10 ,10': false, '1a,10': false, '10,10.': false, '10,10\n': false }; var results = [re, re1, re2].map(function(re) { return Object.keys(tests).every(function(key) { return re.test(key) === tests[key]; }); }); alert(results); Если не видно разницы - зачем платить больше? |
Хах, этот олень мне еще в карму пукнул с комментарием:
Цитата:
Я если посчитал что неправ ты, то привел код, подтверждающий это. И вот такие "правые" люди еще приходят и просят помощи на форуме :stop: |
Часовой пояс GMT +3, время: 03:47. |