2010-03-11 1 views
1

У меня есть текстовая область, которая позволяет пользователю вводить тип в адресе в свободном формате, как я могу разобрать адрес пользователя, введенный в адрес1, адрес2, город, штат, zip и страну и сохранить в БД?Как разобрать адрес свободного формата для сохранения в базу данных

ответ

0

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

Чтобы сохранить проблему, у меня просто были отдельные поля для каждого отдельного элемента или просто сохранить адрес в виде целой строки.

2

У вас здесь много боли.

Адреса REALLY BADLY отличаются между странами, и даже в пределах одной разницы в стране наблюдается склонность к ошибкам. Был там, возглавляя команду из 2 человек, тратящих месяцы, пытаясь разобрать все адреса НЕМЕЦКИЙ. Множество глупых маленьких дел слева и справа.

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

Пойдите с приличной формой ввода, а не с бесплатным вводом текста.

0

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

1

Не используйте вместо этого поле ввода данных для отдельного поля.

Предполагая, что вы не можете/не можете/не будете прислушиваться к этому совету, тогда вы должны сделать некоторые предположения о том, как он был введен. Хотя вы можете быть немного умнее, начиная с концов и работать в любом случае.

т.е:

  • Split новыми линиями.
  • 1-я линия - жилой дом и улица.
  • Последняя строка может быть почтовым индексом/почтовым индексом.
  • Последняя линия может быть городом.
  • линии в промежутке между первой и последней, но один адрес в строке 2, 3 и т.д.

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

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