正则表达式允许alpha,一些特殊字符或空字符串

时间:2014-05-23 18:54:55

标签: regex

我的正则表达式正在验证表单字段,并且只允许使用alpha和一些选定的特殊字符。 但是这个字段是可选的,所以我需要让它也允许空字符串。

我目前的正则表达式is /^[a-z ,.'-]+$/i

我尝试了各种解决方案来添加空字符串选项,但没有任何效果。 有什么建议吗?

2 个答案:

答案 0 :(得分:4)

+更改为*,将1+重复的含义更新为0+重复(基本上可选)。

/^[a-z ,.'-]*$/i
            ^

此外,我建议使用\s而不是空格,如果可能的话,因为对于习惯阅读正则表达式的人来说更有意义,并且您最初不会错过它一目了然。请注意\s[\r\n\t\f ]的简写,因此它也会匹配换行符和标签(即它可能不适合您的方案)。

答案 1 :(得分:0)

好的,我刚把它整理出来。这个似乎可以解决问题。如果您发现任何缺陷,请告诉我。

/^$|[a-z ,.'-]+$/i