我知道这个问题已经被问到了,但我找不到符合我要求的东西,也适用于rails。我正在寻找一个简单的正则表达式,用于包含以下内容的单词:
答案 0 :(得分:0)
以下正则表达式允许使用字母,空格,点和破折号:
/[a-z\s.-]/i
您在模型中的验证将是:
validates_format_of :first_name, :with => /[a-z\s.-]/i
答案 1 :(得分:0)
只需添加到Sharvy Ahmed's answer。
您也可以在模型中以这种格式表示验证
将 Regex 定义为常量,然后在first_name
验证中引用它。
validates :first_name, format: { with: VALID_NAME_REGEX }
VALID_NAME_REGEX = /[a-z\s.-]/i
位置:
/ - Indicates the start of a new character
a-z - Matches characters in the range 'a' to 'z'
\s - Matches any whitespace character like tabs, spaces
. - Matches a '.' character
- - Matches a '-' character
/i - Makes the whole expression case insensitive.
仅此而已。
我希望这会有所帮助