需要javascript检查夏威夷阿拉斯加等的邮政编码
Need javascript checking zipcode for hawaii alaska, etc
有没有一种简单的方法可以根据邮政编码做某事(在javascript中)?更准确地说,用户将输入邮政编码,如果该邮政编码在美国大陆之外(如夏威夷、阿拉斯加、波多黎各等),那么它会做一些事情,比如隐藏免费送货选项。我知道这可以通过州字段轻松完成,但是邮政编码字段呢?
美国大陆(当然不包括阿拉斯加、夏威夷和美国领土)的所有邮政编码集可以定义如下:
邮政编码大于00999但小于96200
或
邮政编码等于或大于97000但小于99500
function isInContinentalUSA(zipcode)
{
if((zipcode>'00999' && zipcode <'96200') || (zipcode>='97000' && zipcode <'99500')) {
return true;
} else {
return false;
}
}
更新:
美国边远领土遵循这些规则,所以我更新了上面的代码来管理波多黎各
US Outlying territories
AP: 962** - 966**
PW/FM/MH/MP/GU: 969**
AS: 96799
PR: 006-009
从阿多瓦挪用:http://addoa.com/blog/how-restrict-free-shipping-magento
USPS 提供了一个免费的 API,用于从邮政编码获取位置信息。见 https://www.usps.com/business/web-tools-apis/address-information.htm
您需要在客户端上列出一些列表来判断是否允许邮政编码。
或者,您需要ping服务器以检查邮政编码是否符合您给定的参数。
http://www.unitedstateszipcodes.org/hi/显示夏威夷邮政编码以 967 和 968 开头。http://www.unitedstateszipcodes.org/ak/显示阿拉斯加邮政编码以 995、996、997、998 和 999 开头。
所以,你想要这样的东西:
// var zipCodeStr
var notContinental = zipCodeStr.match(/^(967|968|995|996|997|998|999)/);
编辑
megawc提出了一个好的观点,即如果我想最高效,我应该使用test
,而不是match
。 所以我会推荐这段代码:
var notContinental = /^(967|968|995|996|997|998|999)/.test(zipCodeStr);
另外,我注意到我以前的正则表达式缺少 998 和 999,所以我添加了它们。
- 在谷歌api v3中使用地理自动完成功能获取邮政编码
- 根据客户的地理位置、邮政编码和位置切换图像
- 使用地图框 API 将邮政编码转换为纬度和经度
- 如何通过邮政编码确定美国县
- 如何快速确定给定邮政编码的状态
- 如何根据表单输入值(即邮政编码)显示不同的页面?jQuery或.PHP
- 获取属性(邮政编码)并在Google地图API 3中使用
- 使用javascript计算两个邮政编码之间的距离
- 为什么这种模式不适用于敲除验证?(分隔的邮政编码)
- jQuery使用inArray搜索和重定向邮政编码
- 从名称或邮政编码获取纬度和经度-谷歌API
- 英国邮政编码谷歌API不返回街道地址
- 如何使用Google Places API获取邮政编码
- 在谷歌地图API中设置邮政编码边界
- 如果在JavaScript w/HTML中选择了特定国家/地区,如何要求邮政编码为数字
- 通过将鼠标悬停在距离矩阵上然后轻拔输入地址和邮政编码来更改输入地址和邮政编码
- 用于邮政编码验证的 Javascript
- 需要javascript检查夏威夷阿拉斯加等的邮政编码
- 邮政编码未出现在自动完成框谷歌地图上
- 如何获取邮政编码生成的标记的个人数据