Помогите с регуляркой пожалуйста :)

R
На сайте с 25.08.2012
Offline
16
479

Люди!!! Кто-нибудь знает как написать регулярку, чтобы при регистрации можно было ввести логин используя русские буквы и цифры или английские буквы и цифры. При этом нельзя использовать русские и английские буквы одновременно! Все что мне удалось откопать в интернете вот это preg_match('/^([а-яё0-9]{1,20})|([a-z0-9]{1,20})$/ui', $login). Но этот пример пропускает совместное использование русских и английских букв (например ВасяPupkin). Помогите пожалуйста!

SG
На сайте с 16.02.2013
Offline
11
#1

копай в направлении (?:([a-zA-Z]+)|([а-яА-Я]+)) (вопрос-двоеточие)

Безопасный хостинг с администрированием http://seahost.ru (http://seahost.ru) Аудит безопасности сайтов, приложений, удаление вирусов http://security-gu.ru (http://security-gu.ru)
gormarket
На сайте с 29.12.2010
Offline
47
#2

может так ?

/^([а-яё0-9]{1,20})$|^([a-z0-9]{1,20})$/

Товары и цены в магазинах Вашего города: Городской рынок (http://gormarket.ru/)
R
На сайте с 25.08.2012
Offline
16
#3

gormarket, ваш вариант у меня сработал.

security-guru, не могли бы вы объяснить подробнее? Мне удалось найти что-то вроде: если нам нужно только группировать подшаблоны, но не запоминать их, сэкономить ресурсы компьютера можно с помощью последовательности символов вопросительный знак и двоеточие. Я и так и сяк подставлял эти символы, однако так и не добился нужного результата.

siv1987
На сайте с 02.04.2009
Offline
427
#4
rubodon:
security-guru, не могли бы вы объяснить подробнее? Мне удалось найти что-то вроде: если нам нужно только группировать подшаблоны, но не запоминать их, сэкономить ресурсы компьютера можно с помощью последовательности символов вопросительный знак и двоеточие. Я и так и сяк подставлял эти символы, однако так и не добился нужного результата.

gormarket дал вам правильный вариант. Присутствия или отсутствия ссылок на подшаблоны это не ваш случай.

SG
На сайте с 16.02.2013
Offline
11
#5

(?:[a-zA-Z]+)|([а-яА-Я]+))

скобки тут не выделяют подстроку, это просто альтернативный match.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий