首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何停止数字输入,删除数字中的前0

如何停止数字输入,删除数字中的前0
EN

Stack Overflow用户
提问于 2014-06-02 20:45:42
回答 2查看 84关注 0票数 1

对于信用卡支付,我们接受3位数字的安全码。

在某些浏览器(可能是较旧的IE版本)的某些情况下,出现了代码开头为0的情况(示例012),删除了前一个0,因此只允许输入12。因此,这会使安全代码无效。

我们把它作为一个数字输入,只允许在移动设备上输入数字,我有一种感觉,这就是原因。然而,我们能做些什么来阻止这种情况的发生吗?

当前输入代码为:

代码语言:javascript
复制
<input type="number" pattern="[0-9]*" size="4" value="$securitycode" name="securitycode">

在此之前,非常感谢您。

EN

回答 2

Stack Overflow用户

发布于 2014-06-02 20:50:01

这种行为是根据the spec的,所以我不认为你可以直接做些什么来阻止它。

如果用户代理提供了用于选择数字的用户界面,则必须将该值设置为the best representation of the number,以浮点数的形式表示用户的选择。

具体地说,“最佳代表”的定义中的确凿证据是

(11)。收集ASCII数字的字符序列,并将结果序列解释为十进制整数。将该值乘以该整数。

我假设您希望保持输入类型,以便移动用户代理向用户呈现更适合输入数字代码任务的UI。因此,既然您现在知道了规范所说的内容,那么您可以在服务器端预期此行为:用零填充传入的值。

票数 1
EN

Stack Overflow用户

发布于 2014-06-02 20:52:13

将输入类型更改为"text“似乎可以解决此问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23994881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档