Ruby on rails 正则表达式&x2B;RubyonRails
我想验证我的用户,因此他们只能在用户名中使用a-z和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/ 如果您不关心第一个字符,可以使用
-
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/