Существует ли псевдокод для проверки адреса в Великобритании или номера телефона?

StackOverflow https://stackoverflow.com/questions/277211

Вопрос

Есть ли у вас псевдокод для проверки полей следующих элементов в Великобритании?Я из США, так что сейчас я знаю только тех, кто находится в США.

  • Адресная строка 1
  • Номер телефона
  • Номер мобильного телефона (на случай, если у них есть специальное правило для этого, которого у них может и не быть)
  • Почтовый индекс
Это было полезно?

Решение

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

Как правило, если вам нужен "стандартный" адрес, веб-сайты, ориентированные на Великобританию, запрашивают почтовый индекс, а затем предлагают пользователю выбрать правильный адрес из всех адресов с этим почтовым индексом

Номера телефонов и мобильных устройств.Смотрите здесь http://en.wikipedia.org/wiki/Telephone_numbers_in_the_United_Kingdom.Скрипт для их проверки (на нескольких языках) можно найти здесь: http://www.braemoor.co.uk/software/telnumbers.shtml

Формат почтового индекса: http://en.wikipedia.org/wiki/UK_postcodes (содержит регулярное выражение для проверки и ссылается на файл почтового индекса, в котором перечислены действительные адреса)

Другие советы

Адресная строка 1 может быть практически любой.Не всегда есть номера домов.

Номера телефонов:длина кода города варьируется.Я бы не хотел утверждать, является ли полная длина постоянной, но я подозреваю, что это всегда как минимум 10 цифр.Мобильные номера обычно (IME) начинаются с 07, тогда как стационарные телефоны обычно начинаются с 01 или 02.Специальные номера (бесплатные, с местным тарифом и т.д.) Обычно начинаются с 08.Я постараюсь найти ссылку на это.(РЕДАКТИРОВАТЬ:Опять же, есть хороший Статья в Википедии.)

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

Perl обладает Номер::Телефон модуль, который может обрабатывать телефонные номера в Великобритании. Королевская почта имеет сервисы для проверки адресов и очистки списка.

Для телефонных номеров в Великобритании лучше всего (к сожалению), вероятно, загрузить планы нумерации из Ofcom (это электронные таблицы Excel со всеми соответствующими диапазонами номеров, разделенные на коды регионов, "географические номера", личные номера, мобильные номера, различные сервисные номера, разные платные номера, а также с привязкой диапазона номеров к оператору (последнее, вероятно, вам не нужно).

Как всегда в подобных вопросах, не зацикливайтесь на чрезмерной проверке.Проверьте, нет ли наиболее вероятных грубо искаженных входных данных, затем двигайтесь дальше.Пытаться отследить, какие префиксы и длины телефонных номеров используются в том или ином регионе, - огромная трата вашего времени.Допустить несколько, возможно, исправимых ошибок лучше, чем потерять клиентов, сказав им, что они ‘недействительны’.

(Ближайший к стандартному формату адресации, который вы получаете в Великобритании, - это почтовый индекс плюс номер дома.Даже тогда всегда есть исключения.)

Я запустил код (или, по крайней мере, кучу шаблонов регулярных выражений) для проверки форм Django для телефонных номеров GB здесь.
С основным объяснением здесь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top