javascript - 使用JS / 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 jquery

相关文章:

javascript - JS-SurroundContents仅在高亮显示尝试的20%左右保留高亮显示

javascript - Youtube Javascript API创建音频栏

javascript - 如何使用ruby watir脚本处理浏览器JavaScript确认导航警报

javascript - 当用户单击外部Popover时关闭Bootstrap Popover

javascript - 如何在JSDoc中指定类的类型(而不是其实例)

php - WordPress - 仅在LT IE 9时排队脚本

javascript - Sitecore 8用Java语言讲UI QueryDataSource

javascript - 具有动态ID的数据渲染可与Rails中的jQuery效果一起使用

javascript - 如何将bootstrap 3面板带入bootstrap 2网站?

javascript - mootools替换div的内容