如何匹配网站上的地址? (正则表达式?库?谷歌地图?)

时间:2011-07-24 15:14:33

标签: javascript regex maps street-address

我想通过javascript在网站上匹配/突出显示地址e.g. (253 West 125th Street New York, NY 10027)

问题:

  • 如何匹配内容中的地址? (对于许多国家而言) 可能的)
  • 你知道任何图书馆或班级的想法吗?
  • 什么样的正则表达式系统可以工作(包含字母,数字,有3到15个单词)?
  • 我们是否应该将其与Google API相匹配,以了解它是否为有效地址?

感谢您的任何想法和意见! :)

3 个答案:

答案 0 :(得分:1)

雅虎!有一个位置API,可以将地址映射到地理位置。对于Yahoo!提供的完整地理服务请访问以下地址。

http://developer.yahoo.com/geo/

雅虎! PlaceFinder™将街道地址和地名转换为地理坐标。

答案 1 :(得分:0)

谷歌地图,必应!和诺基亚地图(早期的Navteq和诺基亚Ovi地图,现在集成到Bing的诺基亚地图!)还提供地理编码API,您可以使用它将地址转换为真实的地理位置。

Google Maps API:http://code.google.com/apis/maps/documentation/javascript/services.html

干杯!!!

答案 2 :(得分:0)

哎哟!这是一个棘手的问题。不幸的是,世界上没有可以拯救你的正则表达式。唯一真正的方法是使用某种地址验证服务。是的Google地图和各种替代方案通常可以告诉您地址是否真实,甚至可能将其绘制在地图上,但他们无法告诉您该地址是否真实,例如可以接收邮件。 / p>

我认为所有这些问题中更大的业务(而不是技术问题)是:你为什么要首先收集地址?如果你正在收集一块数据,那么知道这是正确的不是很好吗?例如,不是收集信用卡号码并假设它可能是正确的,因为它通过了mod 10校验和,你不想知道信用卡是否真的好吗?或者电话号码或电子邮件怎么样?当然它可以通过正则表达式,但除非电话/电子邮件附加到一个人,那么它有什么用呢?

地址也是如此。 可能真实的地址与通过完整性检查但不是已发行的信用卡号的信用卡号一样糟糕。确保地址可交付的唯一方法是使用第三方地址验证Web服务。

有许多提供商提供可以通过Javascript连接的Web服务。为了充分披露,我是SmartyStreets的创始人。我们提供了一个名为LiveAddress的基于REST的地址验证Web服务,可以通过Javascript访问。它甚至可以接受JSONP调用来绕过跨域请求。