Telegram 注册时那个验证码框:它会在你填完之前自己跳走
很多人填验证码的时候都遇到过一个怪事:
数字还没打完,那个框自己就跳走了、或者界面自己变了。
第一反应通常是:"我是不是填错了?"
而实际上,这通常不是错。
因为它不是"跳走",而是"提交了"。
也就是说:它已经把你填的那几位发出去了,然后进了下一步。
所以那句可以这样记:那个框自己跳走,通常不是"它坏了",而是"它已经替你提交了"——因为它一看到够长,就当你填完了。
那它凭什么"看到够长"?
因为有两个机制在叠加。下面分开说。
两个机制:自动填,和自动提交
先说清这两件事,因为"自己跳走"是它们一起造成的。
机制一:自动填。
也就是说:那条短信到了之后,系统会去读它,把里面的码提出来,替你填进框里。
所以有时候你根本没动手,框里已经有数字了。
机制二:自动提交。
也就是说:那个框有一个"它认为够了"的长度。一旦填满,它就不再等你,自己交上去。
而"自动填"和"自动提交"一叠加,就出现了那个怪现象:
短信一到 → 系统把码填进去 → 框一看"满了" → 立刻提交。
整个过程可能不到一秒,所以你看到的是"它自己跳走了"。
而这里有一个细节值得注意:
因为是"机器读短信、机器提取数字",所以它提取的对不对,取决于那条短信长什么样。
这一点下面单独说,因为它是"填错"的一个重要来源。
"要填几位"——不用记,看它什么时候跳
现在说你问的这个。而这一条我要先说清:我不给你一个数字。
为什么不给?
因为那个数字会变(不同时期、不同入口可能不一样),而我核实不到你界面上到底是几位。
所以我给了,你反而可能按一个错的数字去填,然后怀疑自己。
那怎么办?
有三个办法,都不用记数字。
办法一:看那条短信里写的。
短信里通常会写明"这是你的登录码",而那几个数字就是。
(关于短信里哪些东西是"码"、哪些是"别的号码",我在讲注册短信怎么认的那篇里写过。)
办法二:看输入框的样子。
有些界面是"几个空格子"——那格子的数量就是位数。有些界面是一个长框加一句提示,那提示里有时会写。
办法三,也是最可靠的:看它什么时候自己跳走。
也就是说:它自己跳走的那一刻,就是"它认为够了"的那一刻。
所以那句可以这样记:位数这件事,不用记——因为"它什么时候自己跳走",就是答案。
而这个办法的好处是:它不需要你去查任何资料,它就是你手上那个界面在告诉你。
"输完没反应",有几种可能
再说这个。而它要分几种情况,因为"没反应"这四个字的背后,可能是完全不同的事。
第一种:它其实提交了,而且已经过去了。
也就是说:界面变成了下一步,而你因为盯着"那个框"没注意。
这一种其实不是问题。
第二种:它提交了,但被判定为"不对",而那个提示一闪而过。
这一种最容易被忽略——因为你看到的是"没反应",而实际上是"被拒绝了"。
第三种:网络卡住了。
这一种通常会有"转圈"或者"一直在加载"的样子。
第四种:那个码过期了。
这一种下面单独说。
第五种:它压根没提交。
也就是说:你填的位数不够,而它一直在等你填完。
那怎么判断是哪一种?
有一个很省事的观察点:看"重新发送"那一栏。
具体是这样:
如果那一栏变成了"可以点"(也就是倒计时结束了、或者出现了"重新发送")——那说明这一轮已经过去了(不管是超时还是被拒)。
而如果那一栏还在倒计时、或者压根没出现——那说明这一轮还在等。
所以那句可以这样记:"没反应"的时候,别急着再点——先看"重新发送"那一栏出现了没有,因为它会告诉你这一轮是"还在等"还是"已经过去了"。
而知道这一点之后,你的动作就不一样了:
还在等 → 那就再等一会儿,或者检查是不是位数没填够。 已经过去了 → 那你只能重新发一次码。
而"重新发"这件事,下面有一条要紧的提醒。
码过期了会怎样
再说你问的这个。而它其实有两个层次的后果。
第一个层次:那个码不能用了。
也就是你手里那串数字作废了,你得重新要一个。
而"多久会过期"这件事,我不给数字——因为那个时长我看不到,而且它可能会变。
(如果想知道"短信里说的有效期"该怎么看,我在讲注册短信的那篇里写过。)
第二个层次,也是更要紧的:你"重新要"的次数是有限的。
也就是说:过期本身不可怕,怕的是"过期之后你连着点了几次重新发送"。
因为这一类"重发"是有限制的,而且一旦被限制住,你要等一段时间才能再试(关于这个限制怎么算、以及哪些行为会加重它,我在讲验证码失败计数的那篇里写过)。
所以那句可以这样记:码过期本身不可怕——可怕的是"过期之后你连着点了几次重新发送"。
而这个提醒很实际,因为人在急的时候,最容易做的事就是"再点一次"。
而"再点一次"这个动作,恰好是那个限制最在意的事。
短信自动填,有一个副作用
最后说这个,因为它是"填错"的一个重要来源,而很多人没意识到。
"自动填"确实方便:不用手输,也就不用担心手滑。
但它有一个问题:
它是"机器去短信里提数字",而它提的,是"它认为的那个码"。
而如果那条短信里除了码,还有别的数字,它可能会提错。
比如一条短信里可能有:
一串码。 一个"有效期 5 分钟"里的数字。 一个订单号或者参考号。 以及一个客服电话。
而这些数字,在机器眼里都长得像"数字"。
所以那句可以这样记:自动填这件事,省的是手输,但风险是"它可能把短信里的别的数字当成码"——所以填完之后看一眼,比什么都强。
那"看一眼"看什么?
看两样:
一是位数对不对(和短信里那串比一下)。 二是头几位对不对(一位一位地看太累,看头两三位就行)。
而这个"看一眼"花不了两秒,但它能拦住"我明明收到了却一直提示不对"这一类问题。
而这一类问题的麻烦在于:它看起来像"网络问题"或者"服务器问题",而实际上是"填进去的数字就不是那个码"。
(关于怎么从一条短信里把"码"和"别的号码"分开,我在讲注册短信怎么认的那篇里写过,那里讲得比我这里细。)
两个常被问到的
第一个问题:我把"自动填"关掉行不行?
那要看你那个系统给不给这个开关。
有些系统在短信或者输入法相关的设置里,确实有"不要自动读验证码"这类选项。而有些系统压根没有。
所以这一条我给不了准确路径,你自己在设置里找带"验证码""自动填充"字样的那一项。
而关掉它,有一个好处和一个代价。
好处是:你能"看一眼再填"。
也就是说,你有了那两秒钟的确认时间——而那两秒钟,恰好能拦住"自动填错"这一类问题。
代价是:你会输错,或者输得慢。
因为手动输一串数字,本来就是个容易出错的动作(尤其是那串数字没有规律、还带着间隔)。
所以那句可以这样记:自动填关不关,取决于你更怕哪一种错:怕"它填错",还是怕"你填错"。
而如果你遇到过"明明收到了却一直提示不对",那我建议你先试一次手动输——因为那能立刻把"是码错了"和"是网络或者别的原因"分开。
第二个问题:那个框跳走了,但我进不去下一步,怎么办?
先分清一件事:"跳走了"和"进去了"是两件事。
框跳走,只说明"提交了"。而"提交了"不等于"通过了"。
所以卡在这一步,有三种可能:
第一种:码不对。
这是最常见的一种,而它最常见的原因就是"自动填填错了"。
所以第一件该做的是:回头对一遍位数和头几位。
第二种:码过期了。
这一种的判断办法就是前面说的那个:看"重新发送"那一栏。
第三种,也是最容易被忽略的:它其实进去了,只是在等你填别的。
也就是说:有些流程在验证码之后还有一步(比如填名字、设用户名、或者确认某个设置)。
而如果那一步的界面长得比较"素",你可能会以为"还在原来那一步"。
所以那句可以这样记:"框跳走"只说明"提交了"。而它"没进去"的三种可能里,有一种其实是"它进去了,只是在等你填别的"。
而这一条很实际,因为很多人会在这时候"再点一次重新发送"——而那个动作会消耗次数限制。
所以顺序应该是:先看界面是不是变了,再对一遍码,最后才考虑重发。
几个常见的坑
第一个坑,是把"自己跳走"当成"出错了"。它多半是"已经替你提交了"。
第二个坑,是想去记"要填几位"。看它什么时候自己跳走,就是答案。
第三个坑,是"没反应"就急着再点。先看"重新发送"那一栏出现了没有。
第四个坑,是码过期之后连着点重发。那个次数是有限的,而"再点一次"恰是最受损的动作。
第五个坑,是相信"自动填"一定填对了。短信里别的数字,也可能被当成码。
最后
如果只用三句话记住这篇,我希望是这三句话。
那个框在你填完之前自己跳走,通常不是"它坏了",而是"它已经替你提交了"——因为它有两个机制在叠加:短信到了自动填,填到它认为够长就自动提交。所以"要填几位"这件事不用去记,看它什么时候自己跳走,那就是答案。
"输完没反应"要分几种,而有一个很省事的判断:看"重新发送"那一栏。它变成能点了,说明这一轮已经过去(超时或者被拒);它还在倒计时,说明还在等。而知道这一点之后,你的动作才不一样。
最后两条:码过期不可怕,可怕的是过期之后连着点重发——因为那个次数是有限的;而"自动填"的副作用是它可能把短信里的别的数字当成码,所以填完之后看一眼位数和头几位,比什么都强。