Международные телефонные и адресные данные? - PullRequest
6 голосов
/ 29 октября 2008

Я думаю, это вопрос из нескольких частей. Я создаю сайт членства и хочу, чтобы учетные записи были как можно более международными.

  1. Каков наилучший способ сбора телефонных номеров в форме, которая позволяет использовать международные номера? Я не беспокоюсь о хранении их, только сбор и проверка. Теперь у меня есть выпадающий список со списком стран, в который будет добавлен код страны, а затем сам номер с проверкой для нас / can / uk на основе кода страны, а затем добавочный номер. Они будут храниться в виде строк в 3 полях для cc / number / ext. Есть ли у кого-нибудь лучшее, надежное решение для этого или, возможно, кто-нибудь видел его в действии?

  2. То же самое для адресов. Какой лучший путь? Адрес / Город / Штат / Почтовый индекс / Страна или просто линии? Я хотел бы иметь возможность сортировать по ним, так что одно текстовое поле не очень хорошее решение, хотя оно наиболее гибкое.

    Это также важно, потому что мы можем отправлять реальную почту нашим членам. Я имею в виду нескольких членов, которые у меня были для других служб, адреса которых были в тех странах, о которых я никогда не слышал, и даже женщина в почтовом отделении не могла сказать, правильно ли они отформатированы.

  3. Я хочу иметь геоданные в БД, по крайней мере, страну / штат, для таких вещей, как заполнение раскрывающегося списка состояний после выбора страны, стандартизация на местах и ​​т. Д. Кто-нибудь знает о большой базе данных, которую можно использовать как база геоданных приложения?

Ответы [ 3 ]

2 голосов
/ 29 октября 2008

Проверка номера телефона - я не уверен, что потратил бы много времени на это. Схемы нумерации меняются довольно часто (например, в то время, когда я жил в Великобритании, номера телефонов для кодов городов Лондона менялись, по крайней мере, один раз, с другим изменением незадолго до моего переезда), а в Германии это (или, по крайней мере, раньше быть) довольно часто увеличивать количество доступных телефонных номеров на данной бирже, взяв старый номер и добавив одну или две цифры в конце. Таким образом, любые предположения о том или ином формате номера телефона изменятся, и вы в конечном итоге будете играть в догонялки. Если вы настаиваете на разбиении номера телефона на международный / код города / основной номер, вы, вероятно, обнаружите, что это очень специфический для страны способ представления информации, поэтому вам понадобится маска ввода в значительной степени для каждой страны и конкретной проверки. правила. Не говоря уже о том, что в таких местах, как Германия, код города может содержать от двух до четырех цифр и т. Д. *

Что касается почтовых адресов, самое важное предложение, которое у меня есть, - убедиться, что вы можете принимать нечисловые почтовые / почтовые индексы, иначе вы не сможете обрабатывать адреса в Канаде и Великобритании (и, возможно, в других местах). Это немного хобби, потому что у меня было несколько проблем с веб-сайтами в других странах, которые просто отказались разрешить мне вводить нечисловой почтовый индекс, и мне пришлось прибегать к отправке факсов по информации об адресе, когда я Не удалось заполнить онлайн-заявку. В моей книге это плохая карма, если вы позволите международным клиентам ...

Кроме того, допущение о существовании определенных частей адреса (например, штата / округа) и их требование обычно являются большей головной болью, чем это того стоит. Я бы соблазнился предложить стандартный номер дома + улица (объедините их, разные языки поместите номер дома в разные места, поэтому их разделение не очень хорошая идея, ИМХО, если вы не знаете, как правильно собрать их, плюс иногда вы будете в конечном итоге укажите номер дома, а не номер), город и почтовый индекс, возможно, с дополнительным полем округа / штата. Если вы хотите быть действительно полезными для международной аудитории, предложите произвольное текстовое поле ввода для тех адресов, которые не соответствуют нашим «стандартным» предположениям о том, как выглядит адрес. И, пожалуйста, сделайте их достаточно большими, чтобы у людей с довольно длинными адресами не было свободного места ...

1 голос
/ 25 марта 2009

Существует международный стандарт для телефонных номеров , но он оставляет много передышки. Разделители не являются обязательными, но ограничены пробелом, точкой и дефисом. Круглые скобки (или круглые скобки) должны быть заключены в цифры, которые являются необязательными в зависимости от того, откуда вы набираете. Например, код города не является обязательным в некоторых областях. Я бы предоставил текстовое поле и позволил бы пользователю вводить свой номер так, как он хочет.

Для адресов предоставьте много полей и не ограничивайте слишком много. Номера домов иногда содержат буквы. Типы дорог иногда пишутся полностью, а другие сокращенно. (St = Street, Ave = Avenue и т. Д.) Я бы предоставил выпадающие списки, где это возможно (штат / провинция), но разрешу ввод произвольной формы, когда у вас нет списка. Когда пользователь вводит свой адрес, можно проверять наличие угроз безопасности, но вы можете оставить географическую проверку на потом. Например, если пользователь вводит почтовый индекс T8N 4E3 и выбирает провинцию Онтарио в качестве своей провинции, адрес недействителен, поскольку данный почтовый индекс предназначен для Альберты. Покажите дружеское сообщение пользователю, сообщив ему, что ему нужно исправить свой адрес, или свяжитесь с вами, если он правильный (возможная ошибка в вашем коде).

0 голосов
/ 29 октября 2008

Адрес - помните не везде, где вы получили штаты и почтовые индексы. и если вы получили почтовые индексы, они могут быть в другом формате ([0-9]{2}-[0-9]{3} здесь). ( изменить: обычно почтовый адрес с 2 адресными строками, город, штат (необязательно), почтовый индекс (необязательно) и страна в порядке).

Так же и с геоданными - вы можете делать последовательные выпадающие списки для штатов и городов, но думаю, что вы не охватите каждый город. Почему бы не показать часть карт Google и позволить пользователям щелкать там, чтобы отметить свою позицию?

...