Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 预匹配地址_Php_Preg Match - Fatal编程技术网

Php 预匹配地址

Php 预匹配地址,php,preg-match,Php,Preg Match,所以我试图在PHP中预先匹配一个地址 它应该是字母空格数字,而不是数字空格字母。 所以,像这样:我的地方16。 数字和字母的长度无关紧要,但它们不能混合在一起 我已经尝试过这个,但这个没有检查空格: if(preg_match("/^[0-9a-zA-Z_]{5,}$/", $adres) === 0) { echo 'Address is wrong'; } 提前谢谢 你展示的模式与你试图做的完全不一致。为了你的目的,你会做这样的事情 /^[a-zA-Z]+\ +[0-9]+$/ 这将检查

所以我试图在PHP中预先匹配一个地址

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

我已经尝试过这个,但这个没有检查空格:

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

提前谢谢

你展示的模式与你试图做的完全不一致。为了你的目的,你会做这样的事情

/^[a-zA-Z]+\ +[0-9]+$/
这将检查字符串开头是否至少有一个字母,后跟1个或多个空格,后跟1个或多个数字,此时字符串必须结束


当然,除非我误解了您想要实现的目标……

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

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

,例如“abc 1/2/D efg”?与abc 09不同,任何字母前都没有数字。它总是以数字结尾,就像一个真实的地址我看到了,当时我读错了“字母-空格-数字,而不是数字-空格-字母”。如果你能提供一些例子来明确你想要什么,我会很有用。如果这是为了验证地址的街道部分,你有没有像“Bla street 1a”这样的联合排序地址?这是(至少)德国/瑞士的普遍做法。或者像“第一大道”(至少在美国很常见)之类的东西……我其实没有想到这一点!但现在我将使用@aleks给我的preg_match
if(1 !== preg_match('/^[a-z]*\ +\d*$/i', $address))
{
    echo 'Address is wrong';
}