0

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

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

(!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))

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

4

1 回答 1

1

正则表达式的字符类中的减号必须始终位于末尾。否则它将被视为一个字符范围。所以尝试切换撇号和减号:

preg_match('/^$|^[A-Za-z0-9 .,;\'-]{5,60}$/', $address4)
于 2013-03-10T15:27:43.617 回答