过去,我过去的大多数网站都限于美国显示地址。但是,在我现在正在进行的项目中,用户可以添加来自世界各地的事件。我的问题是如何处理世界各地显示地址的不同方式。例如,城市/州/邮政编码只是美国的事情。

我想我会根据选定的国家 /地区更改显示的输入,但我不知道我应该如何知道每个国家的解决方案。

想法?

有帮助吗?

解决方案

首先,要谨慎使用您的强制性。不要使用诸如“邮政编码必须仅包含数字”之类的验证。

然后,您应该拥有最少的字段 - 国家,城市,邮政编码和2行的地址。

例如,查看本书订购网站,并在全球范围内交付。在您的篮子里放一本书,然后再结帐以查看: https://securepayment.bookdepository.co.uk/checkout/summary

其他提示

查看此网站,它具有所有国家 /地区的地址格式信息,您可以将其用作参考。 国际地址格式

我看到的方式有2个选项:

1-查找每个国家如何显示其地址并为每个国家创建模板

$address1='23 main st';
$city='New York';
$state='NY';
$postalcode='10000';
$country='US';

include("address_format_" . $formats[$country]  . ".php");

格式将将一个国家映射到一种格式,使多个国家的格式具有相同的格式。

2-以通用方式显示所有地址:

<address>
<?php if($address1): ?>Address: <?php echo $address1 ?><br><?php endif; ?>
<?php if($city): ?>City: <?php echo $city ?><br><?php endif; ?>
<?php if($state): ?>State: <?php echo $state ?><br><?php endif; ?>
<?php if($postalcode): ?>Postal Code: <?php echo $postalcode ?><br><?php endif; ?>
</address>

我能想到的两种解决方案是:

  1. 复杂]根据国家的更改地址要求。
  2. 简单]只有一个国家/地区的下拉列表,只有一个地址字段,用户可以在其中输入地址,但是他/她希望您只显示该字段的内容。

除非您确实需要将地址分为多个字段,否则我相信将整个地址存储在一个字段中的简单方法可能是最好的。当然,这意味着您的地址表不会被归一化,并且您将无法验证用户输入的地址 - 尽管验证基于代码的设计也很复杂。但是,这是可用性,设计和复杂性之间的平衡行为。

希望这可以帮助。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top