Internationalization 国际电话和地址数据?

Internationalization 国际电话和地址数据?,internationalization,street-address,Internationalization,Street Address,我想这是一个多部分的问题。我正在建立一个会员网站,并希望有尽可能国际化的帐户 在允许国际号码的表格上收集电话号码的最佳方式是什么?我不担心存储它们,只担心收集和验证。我现在看到的是一个国家列表的下拉列表,该列表将添加国家代码,然后是数字本身,并根据国家代码对美国/加拿大/英国进行验证,然后是扩展名。这些将作为字符串存储在cc/number/ext的3个字段中。是否有人对此有更好的解决方案,或者在任何地方都可以看到 地址也一样。最好的方式是什么?地址/城市/州/邮政编码/国家或仅限行?我希望能够

我想这是一个多部分的问题。我正在建立一个会员网站,并希望有尽可能国际化的帐户

  • 在允许国际号码的表格上收集电话号码的最佳方式是什么?我不担心存储它们,只担心收集和验证。我现在看到的是一个国家列表的下拉列表,该列表将添加国家代码,然后是数字本身,并根据国家代码对美国/加拿大/英国进行验证,然后是扩展名。这些将作为字符串存储在cc/number/ext的3个字段中。是否有人对此有更好的解决方案,或者在任何地方都可以看到

  • 地址也一样。最好的方式是什么?地址/城市/州/邮政编码/国家或仅限行?我希望能够按这些进行排序,因此单个文本字段不是一个很好的解决方案,尽管它是最灵活的

    这一点也很重要,因为我们可能会向会员发送实际邮件。我想起了我为其他服务机构服务过的一些会员,他们的地址在我从未听说过的国家,即使是邮局的女士也无法判断他们的格式是否正确

  • 我希望数据库中有地理数据,至少是国家/州,用于选择国家后填充州下拉列表、字段标准化等。有人知道可以用作应用程序地理数据库的大型数据库吗


  • 地址-只需记住,不是每个地方都有州和邮政编码。如果你有邮政编码,它们可以是不同的格式(
    [0-9]{2}-[0-9]{3}
    这里)。(编辑:通常带有两条地址行的邮政地址,城市、州(可选)、邮政编码(可选)和国家(可以)


    地理数据也是如此——你可以对州和城市进行连续的下拉列表,但我猜你不会覆盖所有城市。为什么不显示一张谷歌地图,让用户点击来标记他们的位置呢

    电话号码验证-我不确定是否会在这方面花费大量时间。编号方案经常改变(例如,在我住在英国期间,伦敦区号的电话号码至少改变过一次,在我搬到那里之前不久又有一次改变),而在德国则是(或至少过去是)在一个给定的交换机上,通过取一个旧号码并在末尾加上一两个数字来增加可用电话号码的数量是很常见的。因此,任何关于给定电话号码格式的假设都会发生变化,最终你将迎头赶上。如果您坚持将电话号码拆分为国际/区号/主号码,您可能会发现这是一种非常特定于国家/地区的信息表示方式,因此您几乎需要针对每个国家/地区和特定验证规则的输入掩码。更不用说在德国这样的地方,区号可以有两到四位数字等等

    关于邮政地址,我最重要的建议是确保您可以接受非数字邮政编码,否则您将无法处理加拿大和英国(可能还有其他地方)的地址。这是我的一个爱好,因为我在其他国家的网站上遇到了一些问题,这些网站拒绝我输入非数字的邮政编码,我不得不通过传真发送我的地址信息,因为我无法填写在线申请表。在我的书中,如果你允许国际客户

    此外,假设地址的某些部分(例如州/县)存在并需要它们通常是令人头痛的,而不是值得的。我很想提供标准的门牌号+街道(将它们组合起来,不同的语言将门牌号放在不同的地方,所以将它们分开不是一个好主意,除非你知道如何正确地重新组合它们,而且有时你会得到一个门牌名而不是号码)、城镇和邮政编码,可能带有可选的县/州字段。如果你想真正帮助你的国际观众,为那些不符合我们关于地址外观的“标准”假设的地址提供一个自由形式的单一文本输入字段。请把它们做得足够大,这样地址很长的人就不会耗尽空间了…

    有一个,但它留下了很多喘息的空间。分隔符不是必需的,但仅限于空格、句点和连字符。圆括号(又名圆括号)将放在数字周围,这是可选的,取决于您拨号的位置。例如,在某些地区,区号是可选的。我会提供一个文本字段,让用户输入他们想要的号码

    对于地址,请提供大量字段,不要限制太多。门牌号码有时包含字母。道路类型有时是完整的,有时是缩写的。(St=街道、Ave=大道等)我会尽可能提供下拉列表(州/省),但在没有列表时允许自由输入。当用户输入他们的地址时,可以验证是否存在安全风险,但您可能希望稍后再进行地理验证。例如,如果用户输入邮政编码T8N 4E3并选择安大略省作为其省份,则地址无效,因为给定的邮政编码是针对阿尔伯塔省的。向用户显示一条友好的消息,让他们知道他们需要更正地址,或者在地址正确时与您联系(代码中可能存在错误)