2011-03-21 55 views
0

我想在我的內部網站上有一個窗體...基本上我們是一家裝修公司,並有一個不好的區域代碼列表,我們不做生意...... IE列表不好的拉鍊19020 19021等都不好,所以如果他們是我想要它返回一個彈出窗口說不好的地區...如果它不在名單上我想說它好區域Vaildate對列表的郵政編碼

+0

嗯,你已經給了我們你想要的東西,但我們只能真正幫助改善你已有的東西。你到底寫了什麼代碼來執行這個任務,以及哪些代碼失敗? – Charles 2011-03-21 22:59:44

+0

你的問題是什麼?你如何存儲清單?在數組中?在數據庫中? – EboMike 2011-03-21 22:59:52

+0

我讀爲「我不知道如何開始。」 – Ryre 2011-03-21 23:00:58

回答

2

你還沒有給出太多的信息,所以接下來是一個非常普遍的解決方案。接近這一點的一種方法是讓兩個地圖稱爲badZipsgoodZips

var badZips = { 
    "19020": true, 
    "19021": true 
    ... 
}; 


var goodZips = { 
    "90210": true, 
    ... 
}; 

然後在您的表單驗證功能,你可以這樣做:

if(badZips[zip]) { 
    alert("You entered a bad zip code"); 
} 

else if(goodZips[zip]) { 
    alert("You entered a good zip code"); 
} 

else { 
    alert("That zip code is not recognized"); 
} 

實際創建映射取決於如何你的web應用成立。你如何儲存拉鍊 - 是否在數據庫中?或者你有硬編碼嗎?

0

你的功能要求是很簡單,但你真的不提你有什麼設置。你想要在表單上發生這種功能嗎?你打算怎麼編碼?你有數據庫嗎?根據你使用的標籤,我只假設你沒有數據庫。

基本上你可以有一個地區代碼列表和每個標誌,以表明它是壞的還是好的代碼。您可以將這個列表保存在PHP中的多維數組中作爲靜態數據(http://www.webcheatsheet.com/PHP/multidimensional_arrays.php)。

因此,它可能看起來像:

<?php 
    $areaCodes = array(array('aCode'='19020','aFlag'=>true), 
         array('aCode'='19021','aFlag'=>true), 
         array('aCode'='19022','aFlag'=>false) 
        ); 
?> 

當你需要一個區號進行驗證,只是做陣列中的搜索和檢查標誌,看它是否是一個很好的代碼或惡意代碼。

0

將郵政編碼存儲在數組中,然後檢查給定的郵政編碼是否在數組中。

<?php 
$BadZip = array("19020", "19021"); 

if (in_array($Zip, $BadZip)) 
{ 
    echo "Bad Zip code!"; 
} 
?> 

如果in_array返回true,那麼郵政編碼位於壞鏈接列表中。

另外,你可以使用相同的方法與一個好的拉鍊列表。