2008-10-29 3 views
6

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

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

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

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

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

ответ

0

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

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

2

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

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

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

1

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

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

Смежные вопросы