2010-12-17 46 views
1

搞乱了验证,我有以下验证:括号中轨

validates_format_of :title, 
        :with => /^[A-Z0-9 áàâäãçéèêëíìîïñóòôøöõúùûüý'-.]*$/i, 
        :message => "must contain only letters, numbers, dashes, periods, and single quotes" 

这工作的大部分时间,但是当一个标题包含打开和关闭括号,它传递。任何人都知道如何解决这个问题,或者我的验证正则表达式有问题?

回答

3

在您的正则表达式的你到底有'-.

这意味着你要允许之间(含)的撇号,只是像你这样的时期,在与AZ的正则表达式开始的所有字符和0-9。

表达/['-.]/允许所有这些字符:'()*+,-.

[]内,你需要逃脱 - 角色。我认为这会按照你所希望的方式工作:

/^[A-Z0-9 áàâäãçéèêëíìîïñóòôøöõúùûüý'\-.]*$/i 

PS。你不必逃避。在方括号内[]