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

时间:2014-06-02 12:45:42

标签: html

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

在一些浏览器的某些情况下(可能是较旧的IE版本),我们已经在开始时出现了一个0的代码(例子012),其中第一个0被删除,因此只允许输入12.这因此无效安全码。

我们将此作为数字输入以仅允许在移动设备上输入数字,我感觉这是原因。但是,有什么办法可以阻止这种情况发生吗?

当前输入代码为:

<input type="number" pattern="[0-9]*" size="4" value="$securitycode" name="securitycode">

非常感谢提前。

2 个答案:

答案 0 :(得分:1)

此行为符合the spec的要求,因此我认为您无法直接采取措施阻止此行为。

  

如果用户代理提供用于选择号码的用户界面,   然后该值必须设置为the best representation of the number   将用户的选择表示为浮点数。

具体来说,吸烟枪的定义是&#34;最佳代表&#34;是

  

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

我假设您要保留输入类型,以便移动用户代理向用户显示更适合输入数字代码任务的UI。所以可以做的是,因为您现在知道规范所说的内容,所以在服务器端预测这种行为:用零填充传入的值。

答案 1 :(得分:0)

似乎将输入类型更改为“text”可能会解决此问题。