1
我想验证我的用户,因此他们只能在他们的用户名中使用a-z和-
。正则表达式+ Ruby On Rails
validates_format_of :username, :with => /[a-z]/
但是,这条规则也允许_
-
和大写字母。我如何只允许字母,数字,_
和-
?
我想验证我的用户,因此他们只能在他们的用户名中使用a-z和-
。正则表达式+ Ruby On Rails
validates_format_of :username, :with => /[a-z]/
但是,这条规则也允许_
-
和大写字母。我如何只允许字母,数字,_
和-
?
您的正则表达式不够具体。您正在寻找类似:
: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/