Нормализация / проверка правильности ввода «Город» пользователя при регистрации - PullRequest
5 голосов
/ 10 июля 2010

Моя проблема касается проверки / нормализации ввода пользователя для комбинации Страна и «Город» при регистрации.В идеале, я хочу, чтобы функциональность была похожа на страницу регистрации OkCupid (http://www.okcupid.com/signup)), где задается этот вопрос. Потеря фокуса на поле ввода City как-то проверяет ввод, и он удивительно хорош в этом.город в сельской местности в Австралии (население <6000) и случайный город в Финляндии, и оба они были проверены правильно и быстро. </p>

Нормализация / валидация важна, потому что я хотел бы нормализовать поле "Город" пользователясгенерированная сущность события, чтобы разрешить сопоставление с пользователями в одном месте.

Эта проверка имеет смысл как с точки зрения логики приложения (я не хочу иметь дело с 'NYC' = 'New York City' =«Нью-Йорк, Нью-Йорк» = «болото Нью-Йорка») и перспектива пользователя (другие пользователи понимают местоположение пользователя).

Я использую PHP и jQuery, если это имеет значение, но любое решениена данный момент это более многообещающе, чем ничего!

Заранее спасибо!

РЕДАКТИРОВАТЬ: Решено! Yahoo предоставляет PLaceMaker API - разбор строк в произвольной форме!Лимит в 50000 запросов в день:

http://developer.yahoo.com/geo/placemaker/

Ответы [ 3 ]

2 голосов
/ 13 июля 2010

Решено! Yahoo предоставляет PlaceMaker API - разбор строки местоположения в свободной форме! 50 000 запросов в день:

http://developer.yahoo.com/geo/placemaker/

1 голос
/ 30 декабря 2016

Хороший способ проверить название города - это обработать текст как адрес и преобразовать его в координаты, процесс под названием геокодирование .Геокодирование также предоставляет дополнительные данные для каждого идентифицированного местоположения, которые вы можете использовать, чтобы убедиться, что оно соответствует вашим требованиям.

API Google поддерживает геокодирование и позволяет бесплатно обрабатывать до 2500 запросов в день .

Вы можете использовать существующую библиотеку для взаимодействия с API, такую ​​как node-geocoder и geocoder-php .Библиотеки также поддерживают длинный список других провайдеров геокодирования .

1 голос
/ 10 июля 2010

В целях проверки на следующем сайте есть ссылки на очень полную (и бесплатную!) Базу данных международных городов.

http://earth -info.nga.mil / GNS / html /

Нормализация - гораздо более сложная проблема. Для этого вам, скорее всего, понадобится запатентованный продукт. Карты Google могут быть одним из вариантов.

...