所有城市的名称

时间:2014-07-15 07:25:01

标签: php mysql

问题

我想在注册此网络应用时向我的网络用户提供城市选择。我必须确定,地址是正确的,因为我发送的是普通邮件,以便验证他们的地址。废话或拼写错误的城市名称可能会给我带来麻烦。

当前状态

到目前为止,我总是使用一个数据库表,其中包含我所在国家/地区所有城市的名称。我的国家有大约600个城市,因此从维基百科手动填充表格并不是一个问题。但是,最近我计划允许其他国家(包括德国和美国)注​​册,这应该是问题。

问题

我想问你如何专业地解决城市选择/验证问题?

  1. 我是否必须为所有城市创建一个大表(使用国家/地区外键)并使用一些导入脚本填充它?那我应该在哪里查找数据呢?是否已存在此类导入脚本?
  2. 或者使用某些第三方服务来提供/验证城市名称更好。该服务下线后会发生什么?你知道这样的服务吗?你能举例说明如何使用它吗?
  3. 你会建议完全不同的解决方案吗?

2 个答案:

答案 0 :(得分:5)

我不认为保留城市/州的数据库是切实可行的,因为您将面临另一个问题,即保持更新并确保存储城市名称的所有变体。

最好使用第三方网络服务。美国邮政服务(USPS)提供您可以使用的web service。您可以发送任何地址,它将返回一个已清理/验证的版本(如果地址有效)或错误消息。

其他国家/地区可以找到类似的服务,也可以使用DHL或FedEx等跨国快递公司的API。

但是,当您计划运送货物时 - 为什么不使用像Easypost这样的服务?它们不仅提供comprehensive api,还会验证地址甚至计算运费(如果您愿意)。

答案 1 :(得分:0)

用于地址验证的第三方网站之一是Smarty Streets

有关详细信息,请访问此link