2012-03-22 114 views
-2

我有地址的數組,但他們中的一些是無效的 他們要麼使用類似正則表達式地址驗證

XYZ rd {Alphabatical start} 

公寓或它的射程一樣

4000-9000 wallace rd 

顯然我不能將我的產品運送到這些地址。有人可以給我一個正則表達式

編輯

  1. 我需要的只是一些整數
  2. 我不希望像4009-4015露臺AVE地址範圍啓動地址等

謝謝

+4

沒有人能提供一個正則表達式,直到你詳細的地址應遵循什麼規律。 (並非易事) – 2012-03-22 20:39:41

+5

使用正則表達式驗證街道地址並沒有什麼好的方法。 – Crontab 2012-03-22 20:40:34

+3

這是一個正則表達式是不可能的。另外爲什麼範圍無效?曾去過紐約市?有像105-12 Queens Blvd這樣的地址,這不是一個範圍,而是一個建築物(一個地址)。我建議查看API(如[USPS WebTools API](https://www.usps.com/business/webtools.htm))來驗證地址。另外,我不確定是否所有的公寓地址都必須是P.O。盒子(你不能把包裹送到)。 – 2012-03-22 20:40:45

回答

5

我建議使用UPS或USPS(或FedEx等)地址驗證API,而不是正則表達式。這樣你就會知道地址是真實的,而不僅僅是看起來真實。

我的意思是,如果你要運送某物,你實際上不會將它運送到123 Fake Street。這將通過一個正則表達式,但它不是真實的。

鏈接:

+1

谷歌地圖問我:「你的意思是: '123 Fake Dr,Luray,Page,VA 22835' '123 Fake Ln,Orangeburg,SC 29118'」 – 2012-03-22 21:01:14

+0

@Madmartigan:http://simpsons.wikia.com/ wiki/123_Fake_Street :-) – 2012-03-22 21:02:15

+0

'@'Rocket:哈哈yep我在想那個。 – 2012-03-22 21:03:15

1

最好的辦法是確定測試是字母數字(帶有幾個其他符號),用l東兩條線。同時檢查郵政編碼(英國),郵政編碼(美國)等是否有效。後兩個我可以用正則表達式來檢查。

否則只是依靠郵局的常識(爲這個MB上的美國人提供貨運服務)。

+0

儘管OP的* real *目標(確保有效的送貨地址)無法通過正則表達式解決,您的建議仍然沒有用。字母數字?太嚴格。 「靠郵遞員的常識」?不確定這意味着什麼,但如果你的意思是「不做任何驗證」,那麼我會建議這也是一個壞主意。順便說一下,我很確定我們只是在談論街道地址,而不是整個事情。 – 2012-03-22 20:55:45

+0

看到您的編輯:「有幾個其他符號」。那些會是那些?例如:是/ *還是'*'保證*永遠不會發生在有效地址中? 「asdfasdfasdf」怎麼樣,只是接受它? – 2012-03-22 20:58:00

+0

抓住*錯誤*而不是故意的垃圾地址(我同意,不太可能)也是一個好主意。 – 2012-03-22 21:04:25