【问题标题】:Parentheses messing up validation in rails括号弄乱了rails中的验证
【发布时间】:2010-12-17 08:28:27
【问题描述】:

我有以下验证:

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

这在大多数情况下都有效,但是当标题包含左括号和右括号时,它会通过。有人知道如何解决这个问题,或者我的验证正则表达式有问题吗?

【问题讨论】:

    标签: ruby-on-rails regex validation


    【解决方案1】:

    在你的正则表达式的末尾你有'-.

    这意味着您希望允许(包括)撇号和句点之间的所有字符,就像您在正则表达式的开头使用 A-Z 和 0-9 所做的那样。

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

    在 [] 内,您需要对 - 字符进行转义。我认为这将按您希望的方式工作:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-14
      • 1970-01-01
      • 2020-01-16
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      相关资源
      最近更新 更多