2011-05-27 52 views
5

我目前正在爲電氣公司開發一個網站。他們想在那裏進行一些郵政編碼檢查。這會在一定程度這樣的工作:PHP - 郵政編碼檢查是否覆蓋

  1. 用戶輸入郵政編碼
  2. 看看我們是否掩蓋它
  3. 顯示結果。

但是我從來沒有使用過郵編。我將如何檢查它是否覆蓋它。我顯然需要列出他們涵蓋的郵編或區域的某種數據庫。但是,我如何檢查郵編是否有效。

郵政編碼查詢顯然是查看電氣公司是否覆蓋用戶區域。

在此先感謝。

+0

郵政編碼格式如何? – 2011-05-27 10:52:31

+3

這是國家還是全球? – RobertPitt 2011-05-27 10:52:53

+0

抱歉沒有提供。這只是英國。例如:RM12 4NU。 – ryryan 2011-05-27 10:57:51

回答

0

我顯然需要某種數據庫列出他們覆蓋的郵編或區域。

是的。然後做一個簡單的查找。

但是我怎樣才能檢查郵編是否有效。

你將不得不有一個數據庫列出所有可能的郵政編碼,並做類似的檢查。

+0

我認爲他的意思是郵政編碼範圍,例如地區而不是街道,地理位置等。 – RobertPitt 2011-05-27 10:56:40

+0

範圍可能不是一大堆好東西。某些國家的郵政編碼會被移動,因此它們通常是不連續的。一個完整的數據庫是安全的(只要它是最新的)。 – Quentin 2011-05-27 10:59:04

0

我不知道你在哪個國家,但在大多數國家,沒有確定郵遞區號是否被服務覆蓋的程序性方法。
也沒有辦法知道它是否有效或沒有諮詢數據庫包含覆蓋。

0

電氣公司肯定可以給你,他們就涵蓋郵政編碼列表?那麼這是一個簡單的字符串從那裏匹配....

我假設你對英國感興趣。要查看郵編是否有效,請從操作系統中獲取免費的CodePoint開放數據集:http://www.ordnancesurvey.co.uk/oswebsite/products/code-point-open/

您可以將其拖入DG並交叉檢查用戶輸入。請記住,這些數據基於皇家郵政PAF,因此不要以爲它是100%準確的。在您的代碼中構建一些靈活性/容錯功能。

如果客戶想要一個特定的半徑範圍內,您也coudl使用距離計算操作系統數據...它是全部免費,在雙方自由和免費的啤酒:-)

第一步您可以檢查郵政編碼是否爲有效格式:http://en.wikipedia.org/wiki/Postcodes_in_the_United_Kingdom#Validation - 此檢查將爲您預過濾輸入。