有一種簡單的方法來做的事情(在JavaScript中)取決於郵政編碼? 更確切地說,用戶將輸入一個郵政編碼,如果該郵政編碼在美國大陸以外(如夏威夷,阿拉斯加,波多黎各等),那麼它會做類似隱藏免費送貨選項的東西。我知道這可以很容易地與州領域完成,但郵政編碼領域呢?需要JavaScript檢查郵政編碼爲夏威夷阿拉斯加,等
回答
在美國大陸位置(不含當然阿拉斯加,夏威夷和美國領土)的集合的所有郵政編碼可以被定義如下:
郵編大於00999且小於96200
OR
郵編是等於或大於97000且小於99500
function isInContinentalUSA(zipcode)
{
if((zipcode>'00999' && zipcode <'96200') || (zipcode>='97000' && zipcode <'99500')) {
return true;
} else {
return false;
}
}
UPD ATE:
離島美國領土遵循這些規則,所以我在上面更新的代碼管理波多黎各
US Outlying territories
AP: 962** - 966**
PW/FM/MH/MP/GU: 969**
AS: 96799
PR: 006-009
從Addoa分配:http://addoa.com/blog/how-restrict-free-shipping-magento
其實..我發現00988作爲波多黎各的郵編..所以它會超過這個數字。 – Malachi
好點,我會更新。 –
您需要在客戶端列出一些列表,以確定是否允許使用郵政編碼。
或者您需要ping服務器以檢查郵政編碼是否符合您的給定參數。
http://www.unitedstateszipcodes.org/hi/顯示,夏威夷郵政編碼開始,967和968。 http://www.unitedstateszipcodes.org/ak/顯示阿拉斯加郵政編碼以995,996,997,998和999開頭。
所以,你想要的東西像硫S:
// 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,用於在獲取位置信息。郵政編碼。請參閱https://www.usps.com/business/web-tools-apis/address-information.htm
- 1. 如何包括夏威夷和阿拉斯加作爲R
- 2. 如何移居夏威夷和阿拉斯加近北美谷歌地圖
- 3. Magento谷歌結帳限制夏威夷和阿拉斯加的免費送貨
- 4. 夏威夷的夏令時
- 5. 阿拉斯加和夏威夷沒有正確格式化爲縣Choropleth地圖在R
- 6. 需要的郵政編碼
- 7. 需要使用javascript爲郵政編碼字段添加空格
- 8. PHP檢查郵政編碼爲列表
- 9. 檢查URL是否爲郵政編碼
- 10. 檢查郵政編碼或郵政編碼是否真實
- 11. JavaScript初學者 - 需要檢查郵政編碼的前兩位數
- 12. 夏威夷時區的日期會導致JavaScript無效日期
- 13. 加拿大郵政'查找郵政編碼'屏幕刮碼
- 14. 檢查郵政編碼是否合格
- 15. 英國郵政編碼檢查器
- 16. 檢查郵政編碼是否在
- 17. Javascript郵政編碼驗證
- 18. 需要幫助查找特定郵政編碼的KML數據
- 19. 查找給定郵政編碼的最近郵政編碼
- 20. 查找附近的郵政編碼與基礎郵政編碼
- 21. geoip郵政編碼查詢
- 22. 檢查郵政編碼是否使用geonames API和javascript兩倍
- 23. 帶有iframe和Javascript的郵政編碼檢查器
- 24. 將郵政編碼轉換爲郵政編碼+4 MySQL
- 25. 郵政編碼
- 26. 阿賈克斯郵政與可變
- 27. 阿賈克斯郵政不IE11
- 28. 阿賈克斯郵政和PHP會議
- 29. jQuery的阿賈克斯郵政發行
- 30. Regex.IsMatch爲郵政編碼
您是否有要查找的郵編數據庫? – epascarello