2011-07-24 24 views
0

我想通過JavaScript在網站上匹配/突出顯示地址e.g. (253 West 125th Street New York, NY 10027)如何匹配網站上的地址? (正則表達式?庫?谷歌地圖?)

問題:

  • 如何匹配內容的地址? (儘可能多的國家
  • 你知道任何圖書館或類獲得一個想法嗎?
  • 什麼正則表達式系統可以工作(包含字母,數字,並有3至15個字)?
  • 我們是否應該將其與Google API相匹配,以便了解它是否爲有效地址?

感謝您的任何想法和意見! :)

回答

1

Yahoo!有一個可以將地址映射到地理位置的位置API。對於由Yahoo!提供的完整地理服務請訪問以下地址。

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

雅虎PlaceFinder™將街道地址和地名轉換爲地理座標。

+0

我不認爲你理解這個問題。 –

+0

更多關於:如何檢測網站內容的地址! ;) – Lukas

0

Google Maps,Bing!和諾基亞地圖(早期的Navteq和諾基亞Ovi地圖,現在諾基亞地圖集成到Bing!)也提供地理編碼API,您可以使用它們將地址轉換爲真實的地理位置。

谷歌地圖API:http://code.google.com/apis/maps/documentation/javascript/services.html

乾杯!

+0

然而,請注意,服務條款要求您在使用地理編碼功能時向用戶顯示Google地圖... – Matt

0

哎唷!這是一個棘手的問題。不幸的是,世界上沒有任何正則表達式可以爲你節省。唯一真正的方法是使用某種地址驗證服務。是的,谷歌地圖和各種替代品通常可以告訴你地址是否真實,甚至可能將其繪製在地圖上,但他們無法告訴你地址是否真實存在,例如可以接收郵件。

我想在這一切中的大企業(而不是技術)問題是:你爲什麼首先收集地址?如果你正在收集一段數據,不知道它是正確的嗎?例如,不是收集信用卡號碼,而是假設它可能是正確的,因爲它通過了mod 10校驗和,難道你不想知道信用卡是否真的好嗎?或者電話號碼或電子郵件怎麼樣?確定它可能傳遞正則表達式,但除非電話/電子郵件附加到一個人,那麼它有什麼好處呢?

地址也一樣。 可能是真實的地址與通過完整性檢查但不是已發出信用卡號碼的信用卡號碼一樣差。確保地址可用的唯一方法是使用第三方地址驗證Web服務。

有許多供應商提供可以通過Javascript接口的Web服務。爲了充分披露,我是SmartyStreets的創始人。我們提供一個名爲LiveAddress的基於REST的地址驗證Web服務,可通過Javascript訪問。它甚至可以接受JSONP調用來解決跨域請求。