javascript - 在输入字段中仅粘贴数字

标签 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">

最佳答案

使用 jQuery为了跨浏览器兼容性并绑定(bind)事件 input处理每一个变化。

Firefox: <input type="number">

elements automatically invalidate any entry that isn't a number (or empty, unless required is specified).

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

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

关于javascript - 在输入字段中仅粘贴数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48831774/

相关文章:

javascript - 如何在对象中获取该值?

javascript - 正则表达式搞乱了语法突出显示

javascript - 两个相同的 Google map 链接在两个脚本中的工作方式不同

jquery - 当鼠标离开触发器并向下滑动内容时,如何对向下滑动的内容进行编码以向上滑动?

html - 我可以将元素嵌套在表单的选择标签中吗?

javascript - 如何通过 JS(无 jQuery)使 Google Hangout 静音/取消静音?

javascript - 使用 Javascript 单击时使 div 的不透明度 = 1

javascript - 更改 :before css selector using JQuery 的宽度属性

jquery - 无法将 json 数组转换为字符串

html - 一个在底部,另一个在顶部