移动设备上输入数字的最大长度

时间:2018-02-17 11:00:57

标签: javascript html validation input

我有一个数字类型输入字段,我有一个最大限制。问题是最大输入在网络上运行良好,但Android存在问题。

即使您键入11个数字,也可以输入特殊字符,例如' - ,+'等我怎样才能防止这种情况发生。输入字段只需要11个数字。

这是我的代码;



function maxLengthCheck(object) {
  if (object.value.length > object.max.length)
    object.value = object.value.slice(0, object.max.length)
}

<input type="number" name="abc" id="abcInput" placeholder="Some Placeholder" autocomplete="off" tabindex="3" maxlength="11" min="1" max="99999999999" oninput="maxLengthCheck(this)">
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:2)

您可以尝试parseFloat并使用isNaN检查它是否为数字:

&#13;
&#13;
function maxLengthCheck(object) {
  if (isNaN(parseFloat(object.value))) {
    object.value="";
  }
  if (object.value.length > object.max.length) {
    object.value = object.value.slice(0, object.max.length)
  }
}
&#13;
<input type="number" name="abc" id="abcInput" placeholder="Some Placeholder" autocomplete="off" tabindex="3" maxlength="11" min="1" max="99999999999" oninput="maxLengthCheck(this)">
&#13;
&#13;
&#13;

在非数字输入的情况下清空输入似乎是默认情况下Mac上的Firefox。