Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.08.2013, 21:45
Интересующийся
Отправить личное сообщение для Redya69 Посмотреть профиль Найти все сообщения от Redya69
 
Регистрация: 30.07.2013
Сообщений: 23

Очередная регулярка. Цена
Есть такая регулярка:
/^\b\d+,\d{2}\b$/
Она разрешает строку: (любое количество цифр)запятая(две цифры).
Как сделать так, что бы можно было вводить целые значения:
То есть если есть запятая, то после нее должно быть обязательно две цифры. Если нет запятой, то разрешить любое кол-во цифр.
Спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 14.08.2013, 21:59
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Redya69
Redya69





Есть обрезалка до скок нужно цифр после запятой

alert(77777.7777.toFixed(2))
Ответить с цитированием
  #3 (permalink)  
Старый 14.08.2013, 22:02
Интересующийся
Отправить личное сообщение для Redya69 Посмотреть профиль Найти все сообщения от Redya69
 
Регистрация: 30.07.2013
Сообщений: 23

спасибо, но это совсем не то
Ответить с цитированием
  #4 (permalink)  
Старый 14.08.2013, 22:03
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Redya69,
/^\b\d+(,\d{2})?\b$/
Ответить с цитированием
  #5 (permalink)  
Старый 14.08.2013, 22:13
Интересующийся
Отправить личное сообщение для Redya69 Посмотреть профиль Найти все сообщения от Redya69
 
Регистрация: 30.07.2013
Сообщений: 23

Отлично, спасибо!
Только немного подправил: /^\b\d+(,\b\d{2})?$/
Ответить с цитированием
  #6 (permalink)  
Старый 14.08.2013, 22:21
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

а если думать чуть меньше, то так
/^\b\d+,\d{2}\b$|^\d+$/
Ответить с цитированием
  #7 (permalink)  
Старый 14.08.2013, 22:22
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Redya69, а какой смысл тут вобще в этих \b? Начало и конец строки так и так являются границами слов, так ведь? То же самое и с запятой. Так что ты не "подправил" а просто переставил ненужный символ, от чего эффекту 0. Не так ли?
Ответить с цитированием
  #8 (permalink)  
Старый 15.08.2013, 02:16
Интересующийся
Отправить личное сообщение для Redya69 Посмотреть профиль Найти все сообщения от Redya69
 
Регистрация: 30.07.2013
Сообщений: 23

Я не помню уже какой именно эффект, но до перестановки она точно не работала как надо. Если очень интересно - попробуйте сами
Ответить с цитированием
  #9 (permalink)  
Старый 15.08.2013, 07:08
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Redya69
Я не помню уже какой именно эффект, но до перестановки она точно не работала как надо. Если очень интересно - попробуйте сами
Ну попробовал. Результаты одинаковые. Вопрос: зачем оговаривашь регулярку рони? Он тебе помог, а ты в ответ так вот говоришь, что мол его регулярка неправильно работала. Ай-яй-яй, не хорошо...

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);


Если не видно разницы - зачем платить больше?
Ответить с цитированием
  #10 (permalink)  
Старый 15.08.2013, 14:13
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Хах, этот олень мне еще в карму пукнул с комментарием:
Цитата:
Не прав
Ну если я не прав - так покажи это.
Я если посчитал что неправ ты, то привел код, подтверждающий это.

И вот такие "правые" люди еще приходят и просят помощи на форуме
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Регулярка для комментариев /* comment */ , опционально закрытых danik.js Общие вопросы Javascript 4 12.01.2013 03:24
Регулярка для вложенных "тегов" типа [[tag? &attr="[[nested]]"]] danik.js Общие вопросы Javascript 5 10.12.2012 04:41
Проблема с lastChild и removeChild Alyona Общие вопросы Javascript 12 04.10.2012 09:24
регулярка для парсинга SQL запроса Yurik Общие вопросы Javascript 2 09.12.2011 15:08
Регулярка на дробные числа shkarbatov Javascript под браузер 14 29.07.2011 01:05