根据列表验证邮政编码

时间:2011-03-21 22:55:48

标签: php javascript html

我想在我的内部网站上有一个表格...基本上我们是一个家装公司,并且有一个我们不做生意的坏区号列表... IE列表中的坏拉链19020 19021等等糟糕,所以,如果他们是我希望它返回一个弹出窗口说坏区...如果它不在列表上我想要它说好区

4 个答案:

答案 0 :(得分: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");
}

实际创建地图取决于您的webapp的设置方式。你如何存储拉链 - 它在数据库中?或者你有硬编码吗?

答案 1 :(得分:0)

使用apache,安装geoIP。将他们的邮政编码回放到javascript函数中,该函数与您创建的黑名单进行比较。

http://www.maxmind.com/app/ip-location

答案 2 :(得分: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)
                     );
?>

当您需要验证区号时,只需在数组中进行搜索并检查标志以查看它是好代码还是错误代码。

答案 3 :(得分:0)

将邮政编码存储在一个数组中,然后检查给定的zip是否在数组中。

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

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

如果in_array返回true,则邮政编码位于坏拉链列表中。

或者,您可以使用相同的方法和良好的拉链列表。