Member 13491039 Ответов: 3

Как искать JavaScript для государств, использующих почтовые индексы на сайте


Вот вопрос в двух частях:

У меня возникли проблемы с созданием поиска почтового индекса в javascript. Первая часть-это

1) наличие javascript recongnize, что почтовый индекс связан с состоянием, и, возможно, поддерживать эти данные. Вторая часть состоит в том, чтобы

2) Пусть javascript выведет состояние во втором поле текста "результат состояния", которое отображается пользователю.

Скрипт и сайт можно найти здесь:

Edit fiddle - JSFiddle[^](Это содержит весь код и не является загрузкой. Вставляется на JSFiddle, так как полный код слишком длинный для CodeProject. Аналогично пастебину).

Ссылки на узлы, внешние сайты (размещение внешнего сайта для примеров-это нормально, ссылки в коде-нет), базы данных PhP, SQL, внешние загрузки программ,расширения, к сожалению, не допускаются. Этот скрипт состоит из использования только языков HTML/Javascript.

-----Вот часть javascript----:
function validateZIP(zipfield, statefield) {
var valid = "0123456789-";
var hyphencount = 0;


Что я уже пробовал:

function GetZip(90001, 90002){
  return California, California
}

document.getElementById("")=GetZip (9001, 9002)

Как видно выше, я пытаюсь использовать объект для вызова California по 9001 с возвращением значения California пользователю на одной странице.


Я пробовал концепцию функций, однако словари-это новая концепция.

Есть много zipcodes мне нужен более короткий и чистый/простой способ вызова zip-кодов для поиска на сайте с выводом в виде соответствующих состояний.

Richard MacCutchan

Ваш вопрос, скорее всего, был закрыт, потому что в нем была ссылка на внешний сайт. И у вас все еще есть это, так что этот вопрос также находится под угрозой. Пожалуйста, отредактируйте вопрос, удалите ссылку и предоставьте фактический текст кода, который не работает. Не ждите, что люди будут скачивать ваш код с внешних сайтов и пытаться выяснить, что с ним не так.

Richard MacCutchan

Первое, что вам нужно, - это словарь, содержащий все штаты и связанные с ними почтовые индексы. Я предполагаю, что почтовые индексы США для каждого штата находятся в какой-то последовательности, поэтому вам просто нужны самые низкие и самые высокие значения. Тогда все, что вам нужно сделать, это поиск в словаре диапазона, в котором находится код, и это определит ваше состояние. Но я уверен, что гораздо проще использовать для этого какой-то готовый API-сервис.

Member 13491039

Да, у меня есть zipcodes и соответствующие состояния, преобразованные в словарь. Я не совсем уверен, как работают словари, но я использовал этот сайт с открытым исходным кодом dictionary convertor, который конвертирует, если кто-то еще захочет его использовать.

https://shancarter.github.io/mr-data-converter/

Richard MacCutchan

Какое это имеет отношение к твоему вопросу?

Member 13491039

Преобразователь изменяет обычный текст в форму словаря JS, включая ,'s.

Member 13491039

Это довольно странно. В основном в коде вы хотите ссылаться на скрипт во фрагменте кода, а не вставлять его целиком на страницу. Там нет никакой загрузки, и он содержит популярные фрагменты кода, такие как CodePin или JS Fiddle, которые используют многие популярные и современные сайты кодирования. Кроме того, я видел другие вопросы по CodeProject, которые используют внешнюю ссылку, которая не снимается. Я опубликую часть javascript, но без остального код не будет работать должным образом.

Richard MacCutchan

Ну а на этом сайте мы ожидаем увидеть фрагменты кода(а не всю программу), красиво отформатированные в тегах <pre>, В разделе "Что я пробовал" вопроса. Вы обнаружите, что предоставление полезной подробной информации позволит вам получить ответы гораздо быстрее.

A_Griffin

Есть много API, которые вы можете использовать для этого - Google Map GeoCoding API-это один из них, или выполните поиск ZipTastic API. Я полагаю, что почтовая служба США также предлагает API для этого.

3 Ответов

Рейтинг:
2

Richard MacCutchan

Видеть Почтовые индексы США[^].


Member 13491039

Спасибо за ваш ответ! Но ссылка на API в настоящее время находится в автономном режиме.

Richard MacCutchan

Только не отсюда.

Рейтинг:
1

W∴ Balboos, GHB

Если вы перейдете по этой ссылке Бесплатная карта почтового индекса, поиск почтового индекса и список почтовых индексов[^], вы заметите, примерно в середине страницы, тему "соответствие почтовых индексов Штатам, округам и городам". В этом тексте он дает некоторую информацию, которая должна позволить вам понять, что, в принципе, ваша задача невыполнима!

Вот цитата::

Цитата:
почтовый индекс "граница" будет пересекать границы штатов. Почтовые индексы обычно не пересекают границы штатов, но некоторые из них (65733, 71749 и 73949-хорошие примеры).

Там есть информация, которая может сделать для вас довольно эффективный движок, но поскольку это не всегда будет правдой, вы никогда не сможете решить эту проблему (если только не перейдете на zip+4)


Member 13491039

Спасибо! Я видел эту проблему, особенно когда почтовые индексы прыгают вокруг, поэтому они не всегда находятся в шаблоне. Я нашел работоспособные решения, используя if else в диапазоне. Таким образом, теперь код фактически работает в HTML и JavaScript без участия внешних сетей или сайтов

Рейтинг:
1

Member 13491039

else if (Statenames>=70001 && Statenames<=71497){
           return "LA"
               }


Добавив диапазон с помощью операторов else if и используя метод перед этой строкой, объявив функцию, я смог успешно создать поиск по zipcode. Хотя это и не 100% точно, поскольку почтовые индексы могут перескакивать из одного диапазона в другой, он получил 95% его, включая меньшие, потерянные молнии в диапазоне больших. Это также было сделано без API/внешнего кода.