0

我正在尝试验证法国地址的格式。这是我期望的格式:

5 street name
35230 Village

所以我们有一个带有可选号码的道路地址,后面是邮政编码和村庄(公社)的名称。

在我的开发服务器上,我正在运行 PHP v5.2.5。

此代码行正在运行

$AdOk = preg_match("/^([0-9a-zA-Z-, '\\n]+)(\\d{5})([, ]+)([0-9a-zA-Z-, '\\n]+)$/iu", $ClientAddress);

但是,当我在生产服务器上运行它时,它失败了。

生产中的 PHP 版本是 v5.3.19

谁能帮我解决这个问题?

顺便说一句,我还需要添加重音字符!

4

2 回答 2

0

事实上,问题是使用单引号引起的。

这被脚本接收为 \' 并且斜线导致测试失败。

于 2013-01-19T07:54:08.377 回答
0

也许你可以试试这个:'/^([\da-z\-,\'\s]+)(\d{5})([,\s]+)([\da-z\-,\'\s]+)$/iu'。这个使用单引号,我使用 \s 而不是空格和换行符。请让我知道两台服务器之间的结果。

于 2013-09-17T12:53:24.273 回答