电话号码输入是大量网站和应用程序的常见 UI 功能。这似乎很容易实现,对吧?实际上,我们需要考虑很多不同的因素:用户将以什么格式输入号码?我们是否支持国际号码?在本文中,我们将不遗余力地探索一些背景信息,以帮助我们有效地做出这些决定,并分享实用的 UI 设计技巧。
对于任何输入,我们最终期望收到的数据形式都是一个重要的考虑因素。但是,由于我们讨论的是电话号码,所以这应该非常简单!但是,事情并没有那么简单。当您考虑用户可能尝试输入美国号码的几种变体时,问题很快就会显现出来:
这个清单还可以继续列下去。不过请稍等!此外,我们现在讨论的只是美国的数据——当我们将国际问题纳入其中时,复杂程度就会增加。这可能很难理解,所以让我们简要分析一下可能影响这种广泛差异的一些因素。
国家代码和国际乐趣
如果您在美国,您可能见过数字开头的 拉脱维亚手机号码列表 这是美国的国家代码。在国际上,国家可以有自己的代码,有些国家之间共享代码。例如:
作为设计师,最好注意,如上所示,这些代码可能不止一位数字。事实上,国家代码的长度可以是 1-3 位数字。
此外,在实际拨打电话时,除了输入“+”,还可以用数字代替此符号。在大多数国家/地区,这些数字为,但也有多个例外:在美国和加拿大等国家/地区为“011”,在澳大利亚等国家/地区为“0011”。因此,如果从澳大利亚拨打,上例中的号码可能是“。
还需要考虑的是,根据个人习惯,用户可能会以国际格式、本地格式或不带任何前缀输入数字。当然,这对于设计和工程方面都很重要。
数字长度和变化
最后一个例子数字”相当长,所以这里可能是讨论数字长度变化的最佳地点。国际电信联盟实施了一项名为的综合编号计划,该计划规定了我们将在本文中提到的许多细节。例如,他们规定任何数字的最大长手机输度为 15 个符号,我们已经提到国家代码的范围是 1-3 位数字。
这也是比较封闭编号方案和开放编号方案的一个很好的角度。在封闭编号系统中 如何向您的订阅者群发送邮件 有固定长度的区号和本地号码长度,而开放编号方案则具有更大的变化空间(这在欧洲国家更为常见)。
例如,这可能会影响以下区域(地区)代码:
- 固定长度,例如美国、加拿大和俄罗斯为 3,澳大利亚为 1。
- 长度变化:在德国可以是 2 到 5 位数字,在日本是 1 到 3 位数字,在以色列是 1 或 2 位数字。
例如,在美国,肯塔基州中部的地区代码可能是 859,曼哈顿的地区代码可能是 212,但这些地区代码在全国范围内仍固定为 3 位数字。然而在日本,长度可能会有所不同,东京的代码是 03,京都的代码是 075。
根据我处理电话号码的经验,基本上有两种方手机输法可以解决这个问题而又不会引起太大的混乱:要么号码严格采用 E.164 格式,要么号码所属的国家/地区已知,而号码的其余部分可以以任何格式输入。
此外,还有一些需要考虑的问题,比如用户是谁以及他们如何输入数据。
我们必须明确数据格式要求,即系统将以何种格式接收数据。这意味着 ao 列表 我们需要与工程师一起确定用户是否只能以国际格式或国家格式输入数字。根据要求,我们将有几种选择:
- 用户只能以特定格式输入数字,任何其他格式都必须通过错误消息处理。
- 用户可以输入任何国家/地区接受的格式。这对工程师来说是一个额外的负担。例如,处理输入的数字 +1 到 011 并准确解析代码(如上所述)。
也许该应用将拥有国际用户群。此外,一些用户可能居住在该项目发起的同一个国家/地区,但拥有不同国家/地区代码的号码。这是一个额外的问题:例如,来自 Drimsim 的号码,它提供国际 SIM 卡,并发行来自各个国家的号码。
因此,就本文而言,我们同意在电话输入上设置区域锁定可能不是最好的做法,并从那里开始。国家代码 + 国内号码。此格式符合 E.164 格式,因此任何工程师都可以清楚地使用它。
手机输入设计基础知识
现在我们已经解释了我们对 UI 的选择,并且您了解了导手机输致我们做出该决定的所有幕后因素,让我们继续讨论如何采用这些解决方案并将其融入到设计本身中。
假设我们严格按照国际格式收集号码。在这种情况下,需要考虑更多输入要求。除了电话号码本身的输入字段外,还包括一个用于选择国家代码的单独字段。