Биллинговая система Nodeny

Главная категория => Общий раздел => Тема начата: tambu от 04 Августа 2017, 10:43:57



Название: Регулярные выражения
Отправлено: tambu от 04 Августа 2017, 10:43:57
Ответа в документации не нашел, как и на форуме, поэтому спрошу здесь.
Как правильно заполнять поле "регулярное выражение" ?
Создал дополнительное поле:
Тип поля: строковое однострочное
Параметры: Титульное
Регулярное выражение:
Начал с простого, ввел так: \d+
В итоге попадает под шаблон: "qqq111" и "111" и "111qqq"

Как указывать флаги? Обязательно ли использовать ^ и $ если надо создать строго определенный шаблон?
Сейчас я хочу сделать регулярку, чтобы под шаблон попадали такие варианты:
"55", "55в", "55/5", "55в/5"
Набросал такую регулярку: ^\d+[а-я]?\/?\d*?$ но в нодени она почему-то не срабатывает так как задумано.
Срабатывает: "55" и "55/5", на regex101.com срабатывает как задумано.
ЧЯДНТ ?
Спасибо.


Название: Re: Регулярные выражения
Отправлено: tambu от 04 Августа 2017, 11:13:43
Пробую так: ^(\d+|\d+[a-z]|\d+[a-z]\/\d+)$
Работает, но если заменить буквы на кириллицу, то не работает.  :(
Подозреваю, что дело в кодировках

[root@nodeny ~]# locale
LANG=ru_UA.UTF-8
LC_CTYPE="ru_UA.UTF-8"
LC_NUMERIC="ru_UA.UTF-8"
LC_TIME="ru_UA.UTF-8"
LC_COLLATE="ru_UA.UTF-8"
LC_MONETARY="ru_UA.UTF-8"
LC_MESSAGES="ru_UA.UTF-8"
LC_PAPER="ru_UA.UTF-8"
LC_NAME="ru_UA.UTF-8"
LC_ADDRESS="ru_UA.UTF-8"
LC_TELEPHONE="ru_UA.UTF-8"
LC_MEASUREMENT="ru_UA.UTF-8"
LC_IDENTIFICATION="ru_UA.UTF-8"
LC_ALL=


Название: Re: Регулярные выражения
Отправлено: Efendy от 08 Августа 2017, 17:08:44
Это был мой бок, не предусмотрел utf8 в регекспах допполей. Обновись


Название: Re: Регулярные выражения
Отправлено: tambu от 09 Августа 2017, 09:59:37
спасибо, работает


Название: Re: Регулярные выражения
Отправлено: Tooreagen от 19 Сентября 2017, 08:08:28
А для чего это вообще надо?


Название: Re: Регулярные выражения
Отправлено: Efendy от 19 Сентября 2017, 09:02:07
А для чего это вообще надо?
если нужно ввести какие-либо правила заполнения поля. Например, чтобы телефон состоял только из цифр и был не меньше 10 символов. Или чтобы паспорт состоял из двух букв и 6 цифр. Или миллион других чтобы