S2.07.2Country-specific phone number length and grouping设计研究

号码长度与分组随国家不同

别名: 电话号码长度 · 号码分组 · 可变长度编号计划 · phone number grouping

概念解释

国家特定的号码长度与分组(country-specific phone number length and grouping)是指电话号码包含多少位、哪些长度可用,以及书写时在哪些位置插入空格、连字符或括号,均由具体编号计划和号码类型决定。全球不存在一个可靠的“固定总位数 + 固定三位分组”模板。同一国家内的固定电话、移动电话、免费电话、特殊业务和不同地区也可能采用不同长度或分组。

机制

国际 E.164 号码由国家呼叫代码与其后的号码部分共同占用位数;ITU-T E.164 对标准国际号码规定最多 15 位数字,但这只是国际编号结构的上限,不给出各国输入框的唯一合法长度。国内编号计划再把号码空间分配给地区、网络或业务,固定编号计划与可变长度计划都存在。显示分组是帮助人辨认结构的呈现规则,通常按号码前缀与类型选择,并不等同于机器语法。libphonenumber 因而用按地区、类型和前缀维护的可能长度与格式模式,而不是一条全球正则;其实现还保留对现实中偏离标准上限资料的处理能力。

怎么研究

从每个目标市场的主管机构编号计划抽取号码类别、当前长度、过渡安排和示例,再与固定版本的 libphonenumber 元数据交叉核对。测试语料应覆盖每种允许长度的边界、可变长度地区、共享呼叫代码、非地理业务号和历史过渡号码;短码应作为另一类编号资源单独研究。格式研究可比较无分组、官方分组和任意等宽分组对抄录错误、视觉搜索、口述确认及回删修改的影响。记录号码类型和前缀,因为只按国家汇总会掩盖一国内部差异。

边界

“最多 15 位”不能反推所有少于 15 位的数字串都有效,也不能用来拒绝所有产品需要保存的分机、短码、私网号码或现实中的标准外数据;这些对象可能不属于完整国际 E.164 号码。示例号码只能说明特定版本、类型和地区下的一种形态,不能固化成全球定律。号码计划会扩容、合并和重新分配,过渡期内新旧长度可能同时可拨。分隔符通常不改变号码身份,但分机标记、停顿符号和字母助记号可能携带额外语义,不能一概删除后假定信息无损。

怎么落地

  • 不把单一市场的位数当作语义 maxlength,也不套用三位一组掩码;可另设宽裕、可观测的资源与滥用防护上限,并在地区上下文明确后用可更新元数据给出该号码类型的长度反馈。
  • 输入时接受用户熟悉的空格、连字符和括号,并采用能随前缀变化的 as-you-type 格式化;光标、选择区与退格行为不得因重分组跳动失控。
  • 把国际 E.164 的 15 位标准上限用于规范国际号码的输出约束,不把它当作短码、分机、企业内线或原始待核数据的通用字段上限。
  • 为每个目标市场保留官方边界样例并固定元数据版本做自动化测试;升级后检查允许长度、分组和类型变化,再由当地用户核对呈现是否自然。

延伸

  • 同组S2.07.1 国际区号与本地格式的关系 · S2.07.3 严格校验会拒绝合法号码 · S2.07.4 号码的显示格式与存储格式应分离
  • 相邻S2.02 数字、小数与千分位 · S2.09 输入校验的地区差异
  • 站内检索variable-length numbering plan · phone number grouping · as-you-type formatting

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/S2.07.2