0

所以我正在尝试 preg_match PHP 中的地址。

它应该是字母空格数字而不是数字空格字母。所以,像这样: Myplace 16. 数字和字母的长度无关紧要,但它们不能混在一起。

我已经尝试过这个,但是这个不检查空格:

if(preg_match("/^[0-9a-zA-Z_]{5,}$/", $adres) === 0)
{
echo 'Address is wrong';
}

提前致谢!

4

2 回答 2

1

您显示的模式与您要执行的操作完全不符。为了你的目的,你会做类似的事情

/^[a-zA-Z]+\ +[0-9]+$/

这会检查字符串开头是否至少有一个字母,后跟 1 个或多个空格,后跟 1 个或多个数字,此时字符串必须结束。

当然,除非我误解了你想要达到的目标......

于 2012-06-19T09:45:28.033 回答
0

我使用 1 来捕获错误(preg_match 返回 false,而 0,不匹配)

if(1 !== preg_match('/^[a-z]*\ +\d*$/i', $address))
{
    echo 'Address is wrong';
}

这将匹配 0 到无限次之间 az(不区分大小写)之间的任何字符,然后匹配至少一个空格字符,然后匹配 0 到无限次之间的任何数字。如果您需要至少 1 个字母和 1 个数字,*请将+

于 2012-06-19T09:48:05.677 回答