Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> регулярное выражение 
V
    Опции темы
Samotnik
Дата 27.9.2012, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 3
Всего: 191



Привет. 
Пытаюсь составить регулярку.
Нужна проверка: 
- Можно вводить только положительное число;
- Можно вводить как целое, так и дробное;
- Нельзя ввести просто 0;
- Если это целое, то нельзя ввести первым ноль, если это дробное, то оно может быть 0.1;

Получилось вот что:
Код

^[0-9]{0,5}(\.[0-9]{0,2}){0,1}$

Но, это не работает, если ввести просто ноль или несколько нулей
 smile 
PM MAIL   Вверх
Aliance
Дата 27.9.2012, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Лучше конечно просто проверку делать в 2 этапа, первым этапом проверяем на неравенство нулю, а вторым уже регуляркой. Но если нужно именно в регулдярку впихнуть, то что мешает [0-9]{0,5} заменить на [1-9]{1}[0-9]{1,4}
PM MAIL WWW ICQ Skype   Вверх
Sanchezzz
Дата 27.9.2012, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 3
Всего: 60



Код

'00000'.match(/^[0-9]{0,5}(\.[0-9]{0,2}){0,1}$/i);

Вернет вам
["00000", undefined]

Попробуйте приобразавать значение явно  в строку можно как + '' или .toString()


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
Aliance
Дата 27.9.2012, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Код

var re = /[1..9]{1}\d{0,4}(\.\d+)*/;
var ar = [000, 0, 0.1, 1, 1.2, 'ololo'];
for (var i in ar)​ {
    $('<p>').html(ar[i]+' -> '+re.test(ar[i])).appendTo(document.body);
}​

PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0430 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.