检查地址字符串是否具有邮政编码


check if an address string has a zipcode

我正在尝试使用正则表达式来检查完整的地址字符串是否包含邮政编码,有人可以帮助我吗?

$address = '10100 Trinity Parkway, 5th Floor Stockton, CA 95219';
if (preg_match('--regex_here--',$ad)) {
    echo 'true';
}

通常邮政编码遵循两个字母的州代码,因此如下所示的内容应该相当可靠:

/'b[A-Z]{2}'s+'d{5}(-'d{4})?'b/

解释:

'b         # word boundary
[A-Z]{2}   # two letter state code
's+        # whitespace
'd{5}      # five digit zip
(-'d{4})?  # optional zip extension
'b         # word boundary

您也可以将末尾的'b更改为$,因为邮政编码通常(总是?)位于地址的末尾。