我的正则表达式正在验证表单字段,并且只允许使用alpha和一些选定的特殊字符。 但是这个字段是可选的,所以我需要让它也允许空字符串。
我目前的正则表达式is /^[a-z ,.'-]+$/i
我尝试了各种解决方案来添加空字符串选项,但没有任何效果。 有什么建议吗?
答案 0 :(得分:4)
将+
更改为*
,将1+重复的含义更新为0+重复(基本上可选)。
/^[a-z ,.'-]*$/i
^
此外,我建议使用\s
而不是空格,如果可能的话,因为对于习惯阅读正则表达式的人来说更有意义,并且您最初不会错过它一目了然。请注意\s
是[\r\n\t\f ]
的简写,因此它也会匹配换行符和标签(即它可能不适合您的方案)。
答案 1 :(得分:0)
好的,我刚把它整理出来。这个似乎可以解决问题。如果您发现任何缺陷,请告诉我。
/^$|[a-z ,.'-]+$/i