
![]() |
Здравствуйте Гость ( Вход | Регистрация ) |
|
|
|
![]() ![]() ![]() |
![]() |
۩
Дата
|
![]() Старик ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 132 Пользователь №: 18451 На форуме: Карма: ![]() |
Здравствуйте, форумчане!
Два дня бьюсь с формой авторизации. Проблема с регулярным выражением. Не до конца понимаю логику его действия. Приведу фрагмент кода:
Если логин Admin55_ , то ошибка не выводится. Почему шаблон "/^[A-z0-9]+$/" игнорирует нижнее подчеркивание? Я голову сломал уже! Всем заранее спасибо. |
![]() |
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: ★ЛжеЭксперт★ ![]() Сообщений: 5978 Пользователь №: 32538 На форуме: Карма: 67 ![]() |
вместо плюса поставь {3,} это значит, что надо чтоб по твоему орбразцу от трех до бесконечности символов было
|
![]() |
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: ★ЛжеЭксперт★ ![]() Сообщений: 5978 Пользователь №: 32538 На форуме: Карма: 67 ![]() |
я вообще так пишу '/[A-Z]{1}[0-9a-zA-Z_-<>]{2,14}/'ui
|
![]() |
۩
Дата
|
||||
![]() Старик ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 132 Пользователь №: 18451 На форуме: Карма: ![]() |
А что это меняет? Длина строки здесь не причем.
В данном выражении нижнее подчеркивание разрешено. Сейчас попробовал, сократил немного, получилось так: "/^[A-z0-9]+$/" - игнорирует нижнее подчеркивание и ошибки нет "/^[A-Za-z0-9]+$/" - при наличии нижнего подчеркивания выдает ошибку (что мне и нужно) Получается, что интервалы [A-Za-z] и [A-z] не одно и то же? Вот из-за таких нелогичных нюансов столько времени потратил. И нигде в сети об этом не написано. |
||||
![]() |
|||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Эксперт ![]() Сообщений: 12174 Пользователь №: 23195 На форуме: Карма: 441 Трезвый : 15 лет, 9 месяцев, 26 дней ![]() |
vegasmoscow
потому что _ попадает в интервал A-z (а также "[", "\", "]", "^" и "`"). Все они расположены в интервале 65-122 ascii-кодов. В твоем случае лучше воспользоваться /^[[:alnum:]]+$/ либо /^[a-z0-9]+$/i -------------------- |
||
![]() |
۩
Дата
|
||
![]() Старик ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 132 Пользователь №: 18451 На форуме: Карма: ![]() |
Спасибо за разъяснения, у меня таких познаний нет. Написал "/^[A-Za-z0-9]+$/", заглавные буквы тоже включил на всякий пожарный, протестировал, пока все без глюков. |
||
![]() |
![]() ![]() ![]() |