向我的应用程序的用户询问他们的国家和邮政编码。我想用邮政编码作为数据存储的钥匙。因为邮政编码是由用户输入的,所以它们可以以不同的形式输入。例如,加拿大用户可能输入:
现在,我可以为加拿大邮政编码做一个规范化函数,它选择一个规范形式(例如,所有大写字母都没有空格),并在将邮政编码保存为DB键之前将其转换为规范形式。
但是,这只包括加拿大。我不想重新发明轮子。是否有一个库或API可以规范(并可能验证)所有(或许多)国家的邮政编码?
谢谢!
发布于 2014-07-02 17:36:44
使用内置于语言中的正则表达式和字符串函数非常容易。
来自Geonames的CountryInfo表包含有邮政编码的所有国家的邮政编码、Regex和格式值:
http://download.geonames.org/export/dump/countryInfo.txt
别忘了H0H 0H0是圣诞老人的有效邮政编码。
发布于 2014-07-07 08:21:29
重要的是,邮编要记住的是,并非所有国家都有它们,随着地址的添加、更新或删除,邮政代码可以重新编码。
考虑到这一点,如果您想确保要捕获的数据是准确的,最好的解决方案通常是使用付费的第三方库或web服务来验证这一点。有许多公司提供服务来验证整个地址,而不仅仅是邮政编码。根据您的需要,这些都会在全球范围和成本上有所不同。
我为一个公司工作,它通过一个一致的接口提供全球大多数国家的地址验证,要么是一个web服务,要么是你可以集成的API。
您可以在这里试用一些示例:http://www.qas.co.uk/knowledge-centre/product-information/address-postcode-finder.htm
https://stackoverflow.com/questions/24420374
复制相似问题