Ruby on rails 正则表达式&x2B;RubyonRails

Ruby on rails 正则表达式&x2B;RubyonRails,ruby-on-rails,regex,Ruby On Rails,Regex,我想验证我的用户,因此他们只能在用户名中使用a-z和- validates_format_of :username, :with => /[a-z]/ 但是,此规则也允许使用\uuu-和大写字母。如何只允许字母、数字、\uu和-?您的正则表达式不够具体。您正在寻找以下内容: :with => /\A[a-z_]+\Z/ 此正则表达式确保第一个字符为小写字母,其余字符为小写字母、数字、连字符或下划线 /\A[a-z][a-z0-9_-]+\Z/ 如果您不关心第一个字符,可以使用

我想验证我的用户,因此他们只能在用户名中使用a-z和
-

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

但是,此规则也允许使用
\uuu
-
和大写字母。如何只允许字母、数字、
\uu
-

您的正则表达式不够具体。您正在寻找以下内容:

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

此正则表达式确保第一个字符为小写字母,其余字符为小写字母、数字、连字符或下划线

/\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/