验证某些特定特殊字符的数据

时间:2011-03-21 04:47:28

标签: ruby-on-rails ruby regex validation

我想在rails应用程序中添加验证。我在我的模型中添加了

validates_format_of :description, :with => /^[a-zA-Z\d ]*$/i,:message =>
 "can only contain letters and numbers." 

但现在我想要一些特殊的特殊字符(例如ex- :)。

我如何添加它们?

3 个答案:

答案 0 :(得分:1)

您可以将它们添加到您拥有的正则表达式中:

validates_format_of :description, :with => /^[a-zA-Z\d\s:]*$/i,:message =>
 "can only contain letters and numbers."

(我也将正则表达式中的文字空白字符更改为\s转义符。)

答案 1 :(得分:1)

只需将它们添加到方括号内的正则表达式中即可。要添加冒号:

/^[a-zA-Z\d :]*$/

但要注意,有一些特殊字符需要使用反斜杠进行转义:. | ( ) [ ] { } + \ ^ $ * ?。要在集合中添加句点,请使用:

/^[a-zA-Z\d \.]*$/

答案 2 :(得分:0)

除了空格和冒号之外,听起来你想要所有标准单词字符(我知道你没有明确提到下划线):

/ ^ [\ W \ S:] * $ /