验证码需支持粘贴与自动填充
别名: 验证码粘贴 · 短信自动填充 · one-time code autofill
概念解释
一次性验证码(OTP)从短信、邮件或验证器来,人很少记住每一位再敲。支持粘贴与自动填充指输入控件接受整段粘贴、系统「来自短信的验证码」建议、以及密码管理器的一次性代码填充;禁止对框使用 autocomplete=off、拦截 paste、或把六位拆成互不连通的格子却不处理整串。这条只谈码如何进入字段,不谈有效期怎么写、也不谈尝试次数。
机制
OTP 的工作记忆负荷高:短时记住 4–8 个无意义符号,同时在应用间切换。移动端从短信切回应用会触发应用切换损耗,许多人在切回来时已经忘了中间几位。粘贴和操作系统级自动填充把「回忆符号」变成「再认并确认」,错误从位级打字变成一次整串提交。把码拆成六个独立输入、且只允许逐格键入时,粘贴被拆碎或只进第一格,等于把系统能力关掉。输入类型若不是一次性代码语义(Web 上的 one-time-code、平台短信取码 API),系统根本不会提议填充。
怎么研究
在真实设备上比较「单框可粘贴」「分格不可粘贴」「声明了一次性代码语义的自动填充」,用完成时间和错误,而不是只看提交成功。
自变量:单框对多分格、是否拦截 paste、是否声明操作系统可识别的 OTP 语义、短信是否与应用同设备。 因变量:从码到达通知到提交成功的时长、错位与漏位次数、切到短信再回来的次数、自动填充被采纳的比例。
实验室若把码显示在试题纸上,粘贴需求被抹掉。生态效度取决于通知与应用是否同机;跨设备看短信时,自动填充不可用,粘贴仍必须通。不要把「分格更好看」当成输入正确率证据——观感与填充成功率要分开测。
边界
无障碍开关或实体键盘用户可能更习惯逐位;分格可以保留,但必须把整串粘贴分配到各格,并保证屏幕阅读器能把六格读成一个码。验证器 App 生成的码没有短信自动填充通道,只剩粘贴和手动输入。高安全场景若担心剪贴板残留,应在成功后提示清除剪贴板,而不是禁用粘贴。电视、车机没有系统级短信填充,只能靠配对手机或可读出的短码,这条的平台假设不成立。
怎么落地
- 使用单一可粘贴字段,或分格但在 paste 时把数字按位填入;输入模式声明为一次性代码,启用平台短信取码。
- 不要在 OTP 字段上禁用粘贴或自动完成;提交时忽略空格与连字符。
- 码提交成功后可请求清空剪贴板,失败时保留字段内容便于改正,不要整框清空逼人再切一次短信。
- 验证:从另一应用复制六位码贴入;再在真机短信到达时看系统建议是否出现并可一键填入。两种路径都失败即不合格。统计从通知到达到提交的中位时长,改前改后对比。