我有以下处理正常输入的代码——它只允许数字,不允许字母、符号或空格:
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/