S2.02.4Locale-aware numeric input设计
数字输入需接受本地格式
别名: 本地数字解析 · 国际化数字输入 · localized number parsing
概念解释
地区感知数字输入(locale-aware numeric input)让用户按当前地区熟悉的数字、十进制符、分组符、正负号与空白输入数量,再将其解析为规范数值。它不是“逗号和点都随便接受”:解析器必须知道字段 locale、单位和允许精度,对可能产生两个合理数值的输入要求澄清。
机制
键盘、粘贴来源和数字系统可能产生不同 Unicode 字符;同一个逗号在一种 locale 是小数符,在另一种是分组符。只有 Unicode General Category Nd 的十进制数字可直接按位值映射 0–9;罗马数字、上标、分数或 CJK 数字虽有数值含义,也不能自动当作位置制输入。可靠流程按一个明确 locale 规范化获准字符,解析后确认位置已到达去除许可首尾空白后的末尾,再校验范围与精度并回显。高后果字段还应拒绝异常混用数字脚本。
边界
自由文本搜索可采用宽松数字识别,但金额、剂量和测量输入需要更严格确认。允许多种 locale 同时解析会产生冲突,尤其单一分隔符后恰有三位,或同一串在多个候选 locale 下都能完整解析却得到不同数值时;点和逗号同时出现且顺序合法反而常能帮助区分。跨国操作员应显式选择数据格式或看到解析预览。电话号码、账号和邮编是标识符,不能交给数量解析器。
怎么落地
- 将字段的 locale、数值类型、范围、精度、单位与是否允许分组作为解析契约;输入提示和软件键盘与契约一致。
- 按字段风险选择 strict 或受控 lenient 策略;接受 locale 明确支持或等价映射的字符,高后果提交遇错误分组、异常混脚本或多解格式时要求修正或确认。
- 失焦或提交前以规范本地格式回显完整值;高后果字段同时显示单位或币种,让用户确认系统的解释。
- 建立电子表格粘贴、不同键盘、语音输入、bidi marks、NBSP/NNBSP、全角与本地
Nd、混脚本、极值和小数精度测试集,并验证解析器未只接受合法前缀。