如何解析自由格式地址以保存到DataBase中

时间:2010-03-11 14:50:56

标签: c# asp.net

我有一个允许用户以自由格式输入地址的文本区域,如何解析用户输入的地址1,地址2,城市,州,邮编和国家/地区并保存到数据库?

4 个答案:

答案 0 :(得分:2)

你在这里遇到很多痛苦。

国家/地区之间的地址确实不同,即使在一个国家/地区内,解析也容易出错。去过那里,领导一个由2个人组成的团队花费数月时间试图解析所有德国地址。左右各种许多愚蠢的小特产。

悲伤的消息 - 我不认为可以做到可靠。条目不是自由形式,而不是人们以各种方式输入地址的方式。

使用合适的参赛表格,而不是免费的文字输入。

答案 1 :(得分:1)

请勿使用单独的字段数据输入表单。

假设你没有/不能/不会注意到这个建议,那么你必须对它是如何输入做出一些假设。尽管如此,你可以从最终开始并按照自己的方式做一点聪明。

即:

  • 按新线拆分。
  • 第1行是housenumber和street。
  • 最后一行可能是邮政编码/邮政编码。
  • 最后一行可能是城市。
  • 第一个和最后一个之间的行 - 但是一个是地址行2,3等。

重要
各国的地址格式差别很大。如果我是你并且你有自己的范围,我至少提供国家/地区下拉菜单,以便您可以为每个国家/地区应用不同的解析规则。

答案 2 :(得分:0)

您无法预测用户将如何输入地址,例如有些人喜欢使用新行,有些人更喜欢使用逗号。

为了省去麻烦,我会为每个单独的项目设置单独的字段,或者只将地址保存为整个字符串。

答案 3 :(得分:0)

我不认为你可以在免费格式的情况下正确解析它。您可以将MaskedEdit用于这些目的。另一种方法是要求用户以特定顺序输入信息。