2008-10-29 61 views
6

我想这是一个多部分的问题。我正在建立一个会员网站,并希望将这些帐户尽可能国际化。国际电话和地址数据?

  1. 什么是收集的形式允许国际号码上的电话号码的最佳方式?我并不担心存储它们,只是收集和验证。我现在所拥有的是一个国家名单,它将添加国家代码,然后根据国家代码和我们的身份验证我们/ can/uk,然后是扩展名。这些将作为字符串存储在cc/number/ext的3个字段中有没有人有更好的,可靠的解决方案,或者可能在任何地方见过?

  2. 地址同上。什么是最好的方式去?地址/城市/州/邮编/国家或只是线路?我希望能够按这些排序,所以单个文本字段不是一个很好的解决方案,尽管它是最灵活的。

    这也很重要,因为我们可能会发送实际的邮件给我们的会员。我记得有几位成员在其他地方提供服务,这些服务在我从未听说过的国家有地址,甚至连邮局的女性也不知道他们的格式是否正确。

  3. 我想有地理数据在数据库中,至少国家/状态,对于像选择一个国家,现场标准化等填充后的状态下拉有谁知道一个巨大的数据库,可以用来作为应用程序的地理数据库?

回答

0

地址 - 只记得没有到处你有州和邮政编码。如果你有邮政编码,他们可以以不同的格式([0-9]{2}-[0-9]{3}这里)。 (编辑:通常邮政地址与2个地址线,城市,州(可选),邮政编码(可选)和国家是好的)。

所以是地理数据 - 你可以用州和城市的顺序下拉菜单,但想你不可能涵盖所有的城市。为什么不显示一张谷歌地图,并允许用户点击那里标记自己的位置?

2

电话号码验证 - 我不确定我是否会在此上花费大量时间。编号计划经常发生变化(例如,在我住在英国的时候,伦敦地区代码的电话号码至少改变了一次,在我搬到那里之前不久又发生了另一次改变),在德国它(或者至少用于)通常会增加特定交易所上可用电话号码的数量,方法是采用旧号码并在末尾添加一两位数字。因此,关于给定电话号码格式的任何假设都会改变,最终你会追赶。如果你坚持把电话号码分成国际/地区代码/主号码,你可能会发现这是一种特定国家的信息表示方式,所以你需要为每个国家和特定的验证提供一个输入掩码规则。更不用说在像德国这样的地方,地区代码可以有两到四位数字等等......

关于邮政地址,我最重要的建议是确保您可以接受非数字邮政/邮政代码,否则你将无法在加拿大和英国(可能还有其他地方)处理地址。这是我的一个爱好马,因为我曾与其他国家的网站发生过几次问题,他们拒绝让我输入非数字邮政编码,因此我不得不通过传真来查询我的地址信息,因为我无法填写在线申请表。在我的书中,如果你允许国际客户,这是不良的业力....

另外,假设地址的某些部分(例如州/县)的存在并且要求它们通常比头疼更值得。我会试图提供标准的门牌号码+街道(结合他们,不同的语言把房子号码放在不同的地方,所以分开它们不是一个好主意恕我直言,除非你知道如何正确地重新组装它们,有时你会最终得到一个房屋名称而不是数字),城镇和邮政编码,可能还有一个可选的县/州字段。如果您想为您的国际受众真正提供帮助,请为这些地址提供自由形式的单一文本输入字段,这些地址不符合我们对地址外观的“标准”假设。请让它们足够大,以便地址相当长的人不会空间不足......

1

有一个international standard for telephone numbers,但它留下了很多喘息的空间。分隔符不是强制性的,但仅限于空格,句号和连字符。圆括号(又名圆括号)应放在可选的位数上,具体取决于您拨打的位置。例如,某些地区的区号是可选的。我会提供一个文本字段,让用户输入他们的号码,但他们想要的。

对于地址,提供了很多字段,并没有太多限制。房屋号码有时包含字母。道路类型有时全部写入,其他时间缩写。 (St = Street,Ave = Avenue等)如果可能(州/省),我会提供下拉菜单,但如果没有列表,则允许自由形式输入。当用户输入他们的地址时,可以确认安全风险,但是您可能需要等到稍后离开地理验证。例如,如果用户输入T8N 4E3的邮政编码并选择安大略省作为其省份,则该地址无效,因为给定的邮政编码用于阿尔伯塔省。向用户显示一条友好的消息,让他们知道他们需要更正他们的地址,或者如果它正确(您的代码中可能存在错误),请与您联系。