Php 规范化/验证用户';s';城市';注册期间的输入

Php 规范化/验证用户';s';城市';注册期间的输入,php,jquery,validation,location,city,Php,Jquery,Validation,Location,City,我的问题涉及在注册期间验证/规范用户对国家/地区和“城市”组合的输入。理想情况下,我需要类似于OkCupid()注册页面的功能,在该页面中会询问此问题。对城市输入域的关注度的丧失以某种方式验证了输入,而且它在这方面的表现令人惊讶。我尝试了澳大利亚农村的一个小镇(pop.

我的问题涉及在注册期间验证/规范用户对国家/地区和“城市”组合的输入。理想情况下,我需要类似于OkCupid()注册页面的功能,在该页面中会询问此问题。对城市输入域的关注度的丧失以某种方式验证了输入,而且它在这方面的表现令人惊讶。我尝试了澳大利亚农村的一个小镇(pop.<6000)和芬兰的一个随机小镇,两个都得到了正确和快速的验证

规范化/验证很重要,因为我想规范化用户生成的事件实体的“城市”字段,以便与同一位置的用户进行匹配

这种验证从应用程序逻辑的角度(我不想处理“NYC”=“纽约市”=“纽约,纽约”=“纽约”泥潭)和用户角度(其他用户了解用户的位置)都是有意义的

如果有什么不同的话,我会使用PHP和jQuery,但在这一点上,任何解决方案都比什么都没有更有希望

提前谢谢

编辑:解决了!Yahoo提供PlaceMaker API-自由格式位置字符串解析!每天50000次请求限制:


出于验证目的,以下网站引用了一个非常全面(免费)的国际城市数据库


正常化是一个困难得多的问题。为此,您很可能需要使用专有产品。谷歌地图可能是一种选择。

解决了!Yahoo提供PlaceMaker API-自由格式位置字符串解析!每天50000次请求限制:


验证城市名称的一个好方法是将文本视为地址,并将其转换为坐标,这一过程称为。地理编码还为确定的每个位置提供额外的数据,您可以使用这些数据来确保它符合您的要求

GoogleAPI支持地理编码,并且免费提供到


可以使用现有库与API交互,例如和。这些库还支持一长串其他库。

您是否使用过此数据库?OpenStreetMapWiki提到了一些与数据有关的问题()。有什么想法吗?总的来说,它是好的和有用的,但它确实有一些你提供的链接中提到的怪癖。对于本地名字拼写为拉丁字符集的城市,它也更适用。一些亚洲城市名称的英语化有时会有问题,这真是太棒了。它也返回纬度和经度吗?是的,所有的东西。它的组合方式意味着它基本上可以根据你提供的信息进行伸缩,同时根据你想知道的内容提供“质量”评级。例如,如果您希望以它没有的分辨率获取跨街信息,它会在附近提供一些信息,同时降低返回的“质量”值。Placefinder和Placemaker服务在2012年成为该服务的一部分。它们仍然可用于非商业用途,以及。