过去,我的大多数网站在显示地址时都非常局限于美国。然而,在我正在进行的项目中,用户可以添加来自世界各地的活动。我的问题是如何处理地址在世界各地的不同显示方式。例如,City / State / Zip只是美国的事情。
我想我会改变根据所选国家显示的输入,但我不知道我应该如何知道每个国家的地址。
想法?
答案 0 :(得分:2)
首先要小心你强制要求。请勿使用“邮政编码必须仅包含数字”等验证。
然后,您应该有最少量的字段 - 国家,城市,邮政编码和地址的2行。
查看本书订购网站,并提供全球交付。把书放在你的篮子里然后去结帐看看:https://securepayment.bookdepository.co.uk/checkout/summary
答案 1 :(得分:2)
查看此网站,它有所有国家/地区的地址格式信息,您可以将其作为参考。 International Address Formats
答案 2 :(得分:1)
我认为你有两种选择:
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>
答案 3 :(得分:0)
我能想到的两个解决方案是:
除非你真的需要将地址分成多个字段,否则我认为将整个地址存储在一个字段中的简单方法可能是最好的。当然,这意味着您的地址表不会被标准化,您将无法验证用户输入的地址 - 尽管验证也会非常复杂,具体取决于您的代码设计。但是,这是可用性,设计和复杂性之间的平衡行为。
希望这有帮助。