我想验证我的用户,因此他们只能在用户名中使用a-z和-
。
validates_format_of :username, :with => /[a-z]/
但是,此规则还允许_
-
和大写字母。我如何才允许使用字母,数字_
和-
?
答案 0 :(得分: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/
答案 1 :(得分:0)
你的正则表达式不够具体。你正在寻找类似的东西:
:with => /\A[a-z_]+\Z/