【问题标题】:Regex to allow only some characters or empty string in a text field正则表达式仅允许文本字段中的某些字符或空字符串
【发布时间】:2014-06-18 10:13:06
【问题描述】:

我使用 rexeg 只允许文本字段中的某些字符。该解决方案效果很好,但是当该字段留空时,验证会引发错误。基本上,我需要在使用以下规则验证的字段中允许空字符串:

/^[0-9a-zA-Z,.()+\/\s-]+$/

我尝试将||null 放在正则表达式规则中的不同位置 - 开头、结尾、括号内或括号外,但它不起作用。它要么允许所有字符,要么仍然不允许空字符串。请有更多知识的人提出解决方案:

【问题讨论】:

    标签: regex null string


    【解决方案1】:

    只需将锚+(1 个或多个匹配)替换为*(零个或多个匹配)

    例子:

    /^[0-9a-zA-Z,.()+\/\s-]*$/      
    

    【讨论】:

      【解决方案2】:

      将末尾的 + 替换为 *。

      + 表示前一个标记的一到无限重复

      * 表示前一个标记的零到无限次重复

      【讨论】:

        【解决方案3】:

        你可以试试这个:

        /^[0-9a-zA-Z,.()+\/\s-]*$/
                               ^-- replace + with *
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-02-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多