正则表达式只允许文本字段中的某些字符或空字符串

时间:2014-06-18 10:13:07

标签: regex null string

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

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

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

3 个答案:

答案 0 :(得分:3)

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

示例:

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

答案 1 :(得分:3)

用*。

替换最后的+

+表示前一个令牌的无限重复

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

答案 2 :(得分:2)

你可以试试这个:

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