2010-08-11 3 views
1

Я хотел бы подтвердить, что мои пользователи могут использовать a-z и - в своем имени пользователя.Регулярное выражение + Ruby On Rails

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

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

ответ

0

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

:with => /\A[a-z_]+\Z/ 
3

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

/\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/ 
Смежные вопросы