在输入字段中仅粘贴数字

时间:2018-02-16 17:12:10

标签: javascript jquery html css

我的表单中有一个输入字段。我希望能够只输入此输入字段中的数字。

例如:(我的剪贴板上的一些随机字符W123W000)

应粘贴 = 123000

注意:仅适用于Chrome浏览器

我一直在网上搜索,到目前为止我想出了这个,但它没有正常工作。



var inputBox = document.getElementsByClassName('numbersOnly');
inputBox.onchange = function () {
    inputBox.value = inputBox.value.replace(/[^0-9]/g, '');
}

<input id="number" type="number" class="numbersOnly">
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:4)

使用jQuery进行跨浏览器兼容,并绑定事件input以处理每项更改。

{{3}}

  

元素会自动使任何不是数字的条目无效(或者为空,除非指定为必需)。

您可以更改为type=text,但您将丢失设备中的数字键盘行为。

&#13;
&#13;
var inputBox = $('.numbersOnly').on('input', function(e) {
  e.preventDefault();
  $(this).val($(this).val().replace(/[^0-9]/g, ''));
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="number" type="text" class="numbersOnly">
&#13;
&#13;
&#13;