Регулярное выражение + Ruby On Rails - PullRequest
1 голос
/ 11 августа 2010

Я хотел бы проверить своих пользователей, чтобы они могли использовать только az и - в своем имени пользователя.

validates_format_of :username, :with => /[a-z]/

Однако это правило также допускает _ - и заглавные буквы.Как мне разрешить только буквы, цифры, _ и -?

Ответы [ 2 ]

3 голосов
/ 11 августа 2010

Это регулярное выражение гарантирует, что первый символ является строчной буквой, а остальные - строчными, цифрами, дефисами или подчеркиванием.

/\A[a-z][a-z0-9_-]+\Z/

Если вас не волнует первый персонаж, вы можете использовать

/\A[a-z0-9_-]+\Z/

Если вы хотите убедиться, что длина имени не менее 4 символов:

/\A[a-z][a-z0-9_-]{3,}\Z/

Если вы хотите убедиться, что длина составляет от 4 до 8

/\A[a-z][a-z0-9_-]{3,7}\Z/

Если длина должна быть 6

/\A[a-z][a-z0-9_-]{5}\Z/
0 голосов
/ 11 августа 2010

Ваше регулярное выражение недостаточно конкретное. Вы ищете что-то вроде:

:with => /\A[a-z_]+\Z/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...