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/