在Preg匹配验证中允许撇号

时间:2013-03-10 15:12:45

标签: php regex validation preg-match

我想知道是否有人可以帮助我。

我正在使用以下preg match表达式作为我的字段验证的一部分。

(!preg_match('/^$|^[A-Za-z0-9 .,;-]{5,60}$/', $address4))

我遇到的问题是,当我将撇号作为我想要允许的角色的一部分时,我无法使其工作。

我已经阅读了很多教程并尝试了以下内容但没有取得任何成功,所以我显然做错了什么:

(!preg_match('/^$|^[A-Za-z0-9 .,;-\']{5,60}$/', $address4)),

(!preg_match('/^$|^[A-Za-z0-9 .,;-\'\]{5,60}$/', $address4))

我只是想知道是否有人可以看看这个,让我知道我哪里出错了。

1 个答案:

答案 0 :(得分:1)

正则表达式的字符类中的减号必须始终在最后。否则将采用字符范围。因此,尝试切换撇号和减号:

preg_match('/^$|^[A-Za-z0-9 .,;\'-]{5,60}$/', $address4)