所以我试图在PHP中preg_match一个地址。
它应该是字母空格数字而不是数字空格字母。 所以,像这样:Myplace 16。 数字和字母的长度无关紧要,但它们不能混合在一起。
我已经尝试过这个但是这个没有检查空格:
if(preg_match("/^[0-9a-zA-Z_]{5,}$/", $adres) === 0)
{
echo 'Address is wrong';
}
提前致谢!
答案 0 :(得分:1)
您展示的模式根本不符合您要做的事情。为了您的目的,您可以执行类似
的操作/^[a-zA-Z]+\ +[0-9]+$/
这会在字符串的开头检查至少一个字母,后跟一个或多个空格,后跟一个或多个数字,此时字符串必须结束。
当然,除非你误解了你想要实现的目标......
答案 1 :(得分:0)
我用1来捕获错误(preg_match返回false,0,不匹配)
if(1 !== preg_match('/^[a-z]*\ +\d*$/i', $address))
{
echo 'Address is wrong';
}
这将匹配a-z(不区分大小写)在0和无限时间之间的任何字符,然后匹配至少一个空格字符,然后匹配0和无限次之间的任何数字。
如果您需要至少1个字母和1个号码,请将*
更改为+