Очередная регулярка. Цена
Есть такая регулярка:
/^\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, время: 19:35. |