【问题标题】:php - check if an address string has a zipcodephp - 检查地址字符串是否有邮政编码
【发布时间】:2012-06-19 18:09:01
【问题描述】:

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

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

【问题讨论】:

标签: php regex zipcode


【解决方案1】:

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

/\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 更改为 $,因为邮政编码通常(总是?)在地址的末尾。

【讨论】:

  • 我不认为邮政编码包括州代码。我以为只是 5 位数字或 ZIP+4。
  • @sachleen - 邮政编码不包括州代码,但如果您只检查五位数,您可能会发现街道号码或公寓号码。添加州代码检查只是对号码实际上是邮政编码的一些额外验证。
  • 有道理。我第一次误解了你的回答。邮政编码只是在州代码之后,不包括它。
猜你喜欢
  • 2015-01-22
  • 2014-01-31
  • 2014-08-26
  • 1970-01-01
  • 2014-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-01
相关资源
最近更新 更多