【发布时间】:2013-01-15 10:57:04
【问题描述】:
我有一个正则表达式如下:
return ( ! preg_match("/^([-a-z_ -])+$/i", $str)) ? FALSE : TRUE;
我需要添加它以允许一个句点,以便输入可以是这样的:
“圣奥斯特尔”或“圣托马斯”
我尝试了各种方法将句点添加到上述规则中,但页面要么崩溃并只显示空白页面,要么触发了我的验证错误。
我尝试过这样的事情,但无济于事。
([-a-z_ -.])
([-a-z_ -\.])
([-a-z_ -])\.
(\.[-a-z_ -]) etc etc...
我已经尝试了所有方法,但似乎没有任何运气 - 任何想法
非常感谢
詹姆斯
【问题讨论】:
-
初始正则表达式是多余的,因为它指定了两次
-。此外,[a-z_ .-]应该可以工作,你只需要让a-z和-在[之后或]之前。最后,return !condition ? false : true;应该简化为return condition;,因为condition已经返回true或false。 -
谢谢,我现在已经试过了: /^([a-z_ .-])+$/i 并且我仍然只是得到一个没有内容的白页 - 如果我删除 .页面又回来了——有什么想法吗?我也试图逃避这段时间,但它仍然不起作用
-
对不起,我的错,有一个错字 - 谢谢 sp00m - 你明白了!
-
@sp00m 这看起来很像一个答案......你为什么不这样发布它以便dBD可以正式承认你的正则表达式智慧
标签: regex codeigniter validation preg-match