【发布时间】:2014-06-18 10:13:06
【问题描述】:
我使用 rexeg 只允许文本字段中的某些字符。该解决方案效果很好,但是当该字段留空时,验证会引发错误。基本上,我需要在使用以下规则验证的字段中允许空字符串:
/^[0-9a-zA-Z,.()+\/\s-]+$/
我尝试将| 和|null 放在正则表达式规则中的不同位置 - 开头、结尾、括号内或括号外,但它不起作用。它要么允许所有字符,要么仍然不允许空字符串。请有更多知识的人提出解决方案:
【问题讨论】:
我使用 rexeg 只允许文本字段中的某些字符。该解决方案效果很好,但是当该字段留空时,验证会引发错误。基本上,我需要在使用以下规则验证的字段中允许空字符串:
/^[0-9a-zA-Z,.()+\/\s-]+$/
我尝试将| 和|null 放在正则表达式规则中的不同位置 - 开头、结尾、括号内或括号外,但它不起作用。它要么允许所有字符,要么仍然不允许空字符串。请有更多知识的人提出解决方案:
【问题讨论】:
只需将锚+(1 个或多个匹配)替换为*(零个或多个匹配)
例子:
/^[0-9a-zA-Z,.()+\/\s-]*$/
【讨论】:
将末尾的 + 替换为 *。
+ 表示前一个标记的一到无限重复
* 表示前一个标记的零到无限次重复
【讨论】:
你可以试试这个:
/^[0-9a-zA-Z,.()+\/\s-]*$/
^-- replace + with *
【讨论】: