`
天梯梦
  • 浏览: 13730370 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

php 判断美国zip code

阅读更多

代码:

 

 

<?php

function validstatezip($state, $zip5)
{
   $allstates = array (
     "AK" => array ("9950099929"),
     "AL" => array ("3500036999"),
     "AR" => array ("7160072999", "7550275505"),
     "AZ" => array ("8500086599"),
     "CA" => array ("9000096199"),
     "CO" => array ("8000081699"),
     "CT" => array ("0600006999"),
     "DC" => array ("2000020099", "2020020599"),
     "DE" => array ("1970019999"),
     "FL" => array ("3200033999", "3410034999"),
     "GA" => array ("3000031999"),
     "HI" => array ("9670096798", "9680096899"),
     "IA" => array ("5000052999"),
     "ID" => array ("8320083899"),
     "IL" => array ("6000062999"),
     "IN" => array ("4600047999"),
     "KS" => array ("6600067999"),
     "KY" => array ("4000042799", "4527545275"),
     "LA" => array ("7000071499", "7174971749"),
     "MA" => array ("0100002799"),
     "MD" => array ("2033120331", "2060021999"),
     "ME" => array ("0380103801", "0380403804", "0390004999"),
     "MI" => array ("4800049999"),
     "MN" => array ("5500056799"),
     "MO" => array ("6300065899"),
     "MS" => array ("3860039799"),
     "MT" => array ("5900059999"),
     "NC" => array ("2700028999"),
     "ND" => array ("5800058899"),
     "NE" => array ("6800069399"),
     "NH" => array ("0300003803", "0380903899"),
     "NJ" => array ("0700008999"),
     "NM" => array ("8700088499"),
     "NV" => array ("8900089899"),
     "NY" => array ("0040000599", "0639006390", "0900014999"),
     "OH" => array ("4300045999"),
     "OK" => array ("7300073199", "7340074999"),
     "OR" => array ("9700097999"),
     "PA" => array ("1500019699"),
     "RI" => array ("0280002999", "0637906379"),
     "SC" => array ("2900029999"),
     "SD" => array ("5700057799"),
     "TN" => array ("3700038599", "7239572395"),
     "TX" => array ("7330073399", "7394973949", "7500079999", "8850188599"),
     "UT" => array ("8400084799"),
     "VA" => array ("2010520199", "2030120301", "2037020370", "2200024699"),
     "VT" => array ("0500005999"),
     "WA" => array ("9800099499"),
     "WI" => array ("4993649936", "5300054999"),
     "WV" => array ("2470026899"),
     "WY" => array ("8200083199"));

// if you use a drop down list for state selection, ensuring valid data,
// isset is not needed.  (Warnings can not be turned off with: @foreach...)

   if (isset($allstates[$state]))
      {
      foreach($allstates[$state] as $ziprange)
        {
        if (($zip5 >= substr($ziprange, 0, 5)) && ($zip5 <= substr($ziprange,5)))
           {
           $valid = "TRUE";
           return ($valid);  // on match, jump out of foreach early :)
           }
        }
      }
   $valid = "FALSE"; 
   return ($valid);
}
?>
 

 

Usage Example

 

<?php

   print validstatezip("NJ", "07010")."<br>";   // TRUE
   print validstatezip("ME", "03900")."<br>";   // TRUE
   print validstatezip("TX", "73949")."<br>";   // TRUE
   print validstatezip("TX", "88599")."<br>";   // TRUE
   print validstatezip("HI", "90210")."<br>";   // FALSE
   print validstatezip("AA", "90210")."<br>";   // FALSE

?>
 

 

来源:http://www.zend.com//code/codex.php?ozid=991&single=1

 

 

 

<?
function get_zip_info($zip) { //Function to retrieve the contents of a webpage and put it into $pgdata
	$pgdata =""; //initialize $pgdata
	$fd = fopen("http://zipinfo.com/cgi-local/zipsrch.exe?zip=$zip","r"); //open the url based on the user input and put the data into $fd
	while(!feof($fd)) {//while loop to keep reading data into $pgdata till its all gone
		$pgdata .= fread($fd, 1024); //read 1024 bytes at a time
	}
	fclose($fd); //close the connection
	if (preg_match("/is not currently assigned/", $pgdata)) {
		$city = "N/A";
		$state = "N/A";
	}
	else {
		$citystart = strpos($pgdata, "Code</th></tr><tr><td align=center>");
		$citystart = $citystart + 35;
		$pgdata = substr($pgdata, $citystart);
		$cityend = strpos($pgdata, "</font></td><td align=center>");
		$city = substr($pgdata, 0, $cityend);
	  
		$statestart = strpos($pgdata, "</font></td><td align=center>");
		$statestart = $statestart + 29;
		$pgdata = substr($pgdata, $statestart);
		$stateend = strpos($pgdata, "</font></td><td align=center>");
		$state = substr($pgdata, 0, $stateend);
	}
	$zipinfo[zip] = $zip;
	$zipinfo[city] = $city;
	$zipinfo[state] = $state;
	return $zipinfo;
}

if(!$_POST['zip']){
?>
	<form action="<? echo $_SERVER['PHP_SELF']; ?>" method="post">
	<input type="text" name="zip" maxlength="5" size="4">
	<input type="submit" value="Find Zip Info">
	</form>
<? } else {
	$works = get_zip_info($_POST['zip']);
	echo "Zip Code: ".$works[zip]."<br>City: ".$works[city]."<br>State: ".$works[state];
}?>
 

 http://www.micahcarrick.com/php-zip-code-range-and-distance-calculation.html

 

 

 

 

 

 

分享到:
评论

相关推荐

    美国ZIP-CODE城市邮编.xls

    本文档包含了美国全境所有的各州以及各市的邮编,以及对应的城市名称和州名,方便查询与验证

    美国邮政编码和地址(洲市郡)的对应关系

    本文将详细探讨美国邮政编码(ZIP Code)与城市、州、县(郡)之间的对应关系,并介绍如何处理和利用这种数据。 美国的邮政编码系统是由美国邮政服务(United States Postal Service, USPS)设立的,旨在优化邮件的...

    字符转换CodeConvert.zip

    ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是最早也是最广泛使用的字符编码之一,它使用7位二进制数来表示128个不同的字符,包括英文字符、数字、标点符号和一些控制字符...

    PHP-ZipCode-Class:PHP 5 的邮政编码范围和距离计算类

    ZipCode类基于具有以下字段的 MySQL 表或视图: zip_code_id int(11) PRIMARY KEY zip_code varchar(5) UNIQUE KEY city varchar(50) county varchar(50) state_name varchar(50) state_prefix varchar(2) area_...

    us-zipcode-to-geojson:所有美国邮政编码的GeoJSON文件

    我们将邮政编码转换为geojson 所有美国邮政编码的GeoJSON文件数据源我从“获得了数据。 由于数据没有任何城市,州或质心信息,因此我从页面添加了数据。获取源数据我创建了一个,可用于提取所有数据: $ ./get_...

    zip-codes-database-FREE-csv_database_zip_zipcodes_

    标题“zip-codes-database-FREE-csv_database_zip_zipcodes_”揭示了这是一个关于免费的美国邮政编码数据库的资源,其中数据以CSV(逗号分隔值)格式存储。CSV是一种常见的数据交换格式,适用于表格数据,如数据库...

    zip-code-radius:生成可用于一系列搜索以覆盖整个美国的最小邮政编码集

    邮政编码半径根据半径生成最小的邮政编码集,可用于一系列搜索以覆盖整个美国特征从github.com托管的存储库下载最新的美国邮政编码参考集安装pip install zip-code-radius用法 import sysfrom zip_code_radius ...

    zipcode-kml:所有美国邮政编码均拆分为单独的kml文件

    我发现的只是来自census.gov的150MB文件( ) 因此,我编写了一个脚本,将巨型文件拆分为32,768个单独的文件,每个文件名为zip [zipcode] .kml 您可以下载zip文件,解压缩并将单个文件上传到您的网络服务器(必须...

    ascii.zip_Ascii code_zip

    标题中的"ascii.zip_Ascii code_zip"表明这个压缩包文件与ASCII编码有关,而ASCII是一种基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它使用7位二进制数来表示128种可能的字符,包括大写和...

    Code39r.zip

    Code39条形码,全称是美国标准39条码(American Standard Code for Information Interchange, Extended),也被称为USD-3或Alpha-39。它支持数字0-9、大写字母A-Z以及一些特殊字符,如美元符号($), 加号(+), 斜线(/)...

    美国CODE项目推进分布式协同作战发展.pdf

    美国国防预先研究计划局(DARPA)推出的“拒止环境中的协同作战”(CODE)项目是一项旨在增强现有无人系统(如无人机和导弹)在复杂和危险环境中作战能力的项目。该项目的重点是发展出一套先进的自主协同算法和控制...

    ASC-code.zip_asc code

    标题中的"ASC-code.zip"指的是一个包含ASC码相关代码的压缩文件,而“_asc code”可能是对这个压缩包内容的补充说明,暗示其中的代码与ASCII码(American Standard Code for Information Interchange,美国信息交换...

    美国旅游.zip

    【标题】"美国旅游.zip"所指的可能是一个关于赴美旅游的信息包,其中包含了对美国旅行的相关指导、建议和详细信息。这个压缩文件可能是由旅游专家或爱好者创建的,旨在帮助计划前往美国的旅行者了解该国的主要景点、...

    板料清洗机程序美国.zip西门子PLC编程实例程序源码下载

    板料清洗机程序美国.zip西门子PLC编程实例程序源码下载板料清洗机程序美国.zip西门子PLC编程实例程序源码下载板料清洗机程序美国.zip西门子PLC编程实例程序源码下载板料清洗机程序美国.zip西门子PLC编程实例程序源码...

    zipcode:提供 USPS 邮政编码的经纬度

    "zipcode"项目针对这一需求,提供了对USPS(美国邮政服务)邮政编码的经纬度查询功能。通过这个工具,开发者可以轻松获取到指定邮政编码对应的地理坐标,从而实现与地理位置相关的各种计算和应用。 邮政编码是美国...

    最新America美国行政区划shp矢量数据(国州市县4级).zip

    《美国行政区划shp矢量数据详解》 美国作为一个联邦制国家,其行政区划体系复杂且严谨,对于地理信息系统(GIS)的研究者、数据分析人员以及地图爱好者来说,掌握美国的行政区划数据至关重要。本文将围绕“最新美国...

    php 根据ip地址判断是那个国家

    在PHP开发中,有时我们需要获取用户的地理位置信息,例如判断用户来自哪个国家或城市。这通常通过IP地址查询来实现。本文将详细介绍如何使用PHP结合特定的库或服务,实现根据IP地址判断用户所在的国家和城市。 首先...

    美国双城风机选型软件FanSelector.zip

    "美国双城风机选型软件FanSelector.zip"是一款专门针对风机设备进行选型的专业软件,由知名的美国双城公司提供。这款软件集成了丰富的风机数据和先进的计算算法,旨在帮助用户根据具体工程需求,快速、准确地选择最...

    IS95 Simulation Code.zip

    IS95 Simulation Code.zip 是一个压缩包,其中包含用于模拟码分多址(CDMA)技术的代码,这种技术在无线通信领域,特别是在早期的2G移动通信系统中被广泛应用。CDMA是一种利用伪随机码序列对信号进行扩频的技术,以...

Global site tag (gtag.js) - Google Analytics