![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| _lleopard_ |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 18.4.2007 Репутация: нет Всего: нет |
Можно ли в регулярных выражениях, в шаблоне использовать переменные.
Есть шаблон /^.{1,10}$/; Нужно что бы вместо 10-ти можно было использовать переменную. Конкатенация с кавычками не катит. Помогите кто знает! |
|||
|
||||
| Burrr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 459 Регистрация: 4.9.2005 Репутация: 10 Всего: 20 |
x = 10;
var re = RegExp("^.{1," + x + "}$", "ig"); |
|||
|
||||
| _lleopard_ |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 18.4.2007 Репутация: нет Всего: нет |
Спасибо, вроде работает. А , "ig"-зачем нужно?? и без него тоже вроде работает.
|
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 49 Всего: 401 |
_lleopard_, "i" (регистронезависимость) в данном случае ни для чего не нужно - "любому символу" и так глубоко безразличен регистр букв. А "g" (глобальный поиск) - чтоб совпадало со всеми вхождениями, а не только с первым. Нужен он Вам или нет - решайте сами. Подозреваю, что не нужен. Но вообще-то, имхо, для проверки, лежит ли длина строки в интервале от 1 до переменной, сами регулярки тоже не нужны;)...
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| Burrr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 459 Регистрация: 4.9.2005 Репутация: 10 Всего: 20 |
ig - это опции поиска. Их суть правильно описал SelenIT.
В примере я их привел, чтобы показать где они стоят в выражениях такого вида. Доп. материал: http://wdh.suncloud.ru/js05.htm#ref35 |
|||
|
||||
| _lleopard_ |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 18.4.2007 Репутация: нет Всего: нет |
var myRE = RegExp("^-?[0-9]{1," + res1 + "}(\.[0-9]{0,"+res2+"})?$");
var myRE = RegExp("^-?[0-9]{1," + res1 + "}(.[0-9]{0,"+res2+"})?$"); что в первом, что во втором случае точку воспринимает как спец. символ. В чём ошибка?? как мне искать точку литерально??? |
|||
|
||||
| Burrr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 459 Регистрация: 4.9.2005 Репутация: 10 Всего: 20 |
В выражениях с двойными кавычками экранируют двумя слешами. Минус - это тоже спецсимвол:
var myRE = RegExp("^\\-?[0-9]{1," + res1 + "}(\\.[0-9]{0,"+res2+"})?$"); |
|||
|
||||
| _lleopard_ |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 18.4.2007 Репутация: нет Всего: нет |
Burrr
спасибо!! |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |