javascript - 使用 JS/jQuery 剥离字母和符号的粘贴内容?

标签 javascript jquery

我有以下处理正常输入的代码——它只允许数字,不允许字母、符号或空格:

self.press = function (data, event) {
        if (event.which == 0 || event.which == 32 || isNaN(String.fromCharCode(event.which))) {
            event.preventDefault(); //stop character from entering input
        } else if (event.which == 13 && self.search().length != 10) {
            toastr.warning('number must be 10 characters');
            event.preventDefault();
        } else if (event.which == 13 && self.search().length == 10) {
            // nav to /k/#
            window.location.replace("/k/" + self.search());
        }
        return true;
    };

但我可以将字母和符号粘贴到字段中。如何从粘贴的内容中删除任何非数字?

最佳答案

可以使用输入框的oninput事件来监听内容的变化,并进行相应的处理:

$("#field").on('input', function(v){
    var val = $(this).val();
    val = val.replace(/\D/g, '');
    $(this).val(val);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<input id="field" />

注意:oninput 事件仅在 IE 9 及更高版本中受支持。为了支持旧版浏览器,可以使用setInterval 反复检查输入内容,也可以试试this shim .

关于javascript - 使用 JS/jQuery 剥离字母和符号的粘贴内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27428154/

相关文章:

javascript - 通过javascript将鼠标悬停添加到链接

javascript - Jquery Flot 获取工具提示的刻度数据

jquery - Border Radius 上 Fancybox 的白色 Angular

jquery - Bootstrap 灯箱干扰 Bootstrap CSS

jQuery 验证插件隐藏/显示错误容器

javascript - 将文本字段更新为 JSON 字符串 - Javascript/JQuery

javascript - w2ui 忽略 html 形式的值

javascript - 如何在页面加载 chrome 扩展后调用 javascript 函数?

javascript - 面向对象的 jQuery 问题

javascript - div 在特定服务器上的 IE 内容下展开