您是否将地址分解为街道/城市/州/邮政编码?

7

我的当前应用需要为用户存储地址信息。我正在权衡是使用传统的街道地址/城市/州/邮政编码文本框和下拉菜单,还是采用谷歌的方法,将所有内容都放在一行上。您认为采用这两种方式存储地址信息的优缺点有哪些呢?

对于存储地址信息,使用传统的街道地址/城市/州/邮政编码文本框和下拉菜单可以让用户更容易地填写地址信息,但也可能会让页面显得过于繁琐。而使用谷歌的方式,将所有信息放在一行上可以使页面看起来更简洁,但用户可能需要花费更多的时间来正确填写地址信息。


请注意,当正确解析不是关键(例如 Maps)时,Google仅使用一个框模型。对于 Checkout,您仍然需要填写不同的字段。 - albertb
@albertb 不一定需要在结帐时拆分输入字段。请参阅 UX.SE 上的此篇文章 以及 SO 上关于解析自由格式地址的这篇文章 -- 这是可以做到的,并且可以可靠地完成。 - Matt
程序员对地址的错误认识 - datenwolf
7个回答

13

您应该拆分它。这将使以后的报告变得更容易。如果您想检索某个州、邮政编码或城市的所有居民,会发生什么情况?如果您使用一个字段,您将陷入困境,并希望您已经将其拆分。

另外,如果不提示用户输入所需的所有信息,他们可能会忘记输入。


注意:并非所有地址都具有相同的字段。通常最好考虑您将支持的不同国家/地区的地址。 - Robert Mennell
程序员对地址的错误认识 - datenwolf

5
根据您帖子上的用户输入标签,我猜测您是在问用户如何输入数据,而不是如何将数据存储在后端数据库中。假设您要进行排序和分析信息(例如报告和统计目的),则您的数据库仍需要将此信息存储为单独的字段。在这种情况下,我认为取决于您能否自信地正确解析寻址信息为其各个字段。一种混合选项是允许用户将地址作为单行输入,然后尽最大努力将信息解析为单独的字段。这类似于Outlook管理联系人地址的方式 - 您将所有信息输入到单个备忘录字段中,然后它会为您拆分它们。然后,您可以更正如果它错误地解释了任何字段。

在我看来,混合方法是可行的。除非我需要确保地址被正确解析,否则我讨厌那些设计不良的网站强制我自己拆分我的地址。 - albertb

3
我非常反对只有一个文本框让用户输入他们的地址。如果没有特定的字段,你会惊讶于有多少人会漏掉邮政编码或其他重要信息。而且,正如其他人所提到的,如果所有数据都经过预处理,后续报告将更容易报告此信息。正如其他用户所提到的,像Outlook这样的程序将解析这些信息,但仅因为数据源通常是电子邮件签名,而这是一些不一致的格式。

2

我倾向于将其分开,这样可以针对地址的特定部分进行搜索,并且您可以通过了解格式来限制要处理的地址,例如:仅运送到东海岸地址。


同意这与如何处理输入的方式无关,而与后来的搜索有关。 - Riri

2

1) 你应该将其拆分。

2) 在您尝试进行国际地址输入之前,我是否可以推荐您阅读这篇文章


不要依赖那篇文章。作者了解问题,但把一半的细节搞错了。 - Windows programmer
@Windows程序员:哪一半?@Claudiu:+1 提到了不同的地址格式。 - Treb

1
我同意Kibbee的观点。我甚至惊讶地发现有些人连字段标签都不读,把名字和姓氏、邮政编码和城市颠倒了等等。
不,你不能确定一个面向国际客户的Web应用程序中的邮政编码是否有效...
一些国家的邮政编码中有字母字符,长度各异,没有州的信息等等。

尽管有可能尝试验证一些国家的邮政编码,但没有保证你的数据源本身包含正确的代码,所以它应该是一个指导方针而不是规则。我的城镇从一个邮政编码分成了两个; 我的邮编保持不变,但是有几个网站认为它已经改变了... - Dave DuPlantis
而且,不得不联系那些不让我更正地址信息并解释他们错误的邮政编码的人,真是非常令人沮丧。 - Dave DuPlantis

1

一定要将输入内容进行拆分。如果可能的话,根据您的业务需求,在输入时执行地址验证可能是明智的选择。这将使您知道您的地址已经干净地进入了数据库,并且还可以执行许多其他操作,例如防欺诈。验证过的地址可以帮助您降低运输成本,如果您向客户发送实物商品,则可以通过确保在AVS验证期间提交正确的邮政编码来帮助降低信用卡商户费用。

为了充分披露,我是SmartyStreets的创始人。我们提供CASS认证地址验证服务。用户可以将需要清洗的列表(CSV / Excel等)上传到我们的网站上,或使用我们的地址验证Web服务API LiveAddress。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接