我有以下代码,我必须限制字母和特殊字符
我已经这样处理了
<input type="text" id="mobile" placeholder="Phone Number" onkeypress="return isNumber(event)">
function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
return true;
}
这工作正常,但我无法在文本字段中限制字母和特殊字符的复制粘贴
答案 0 :(得分:0)
您可以过滤粘贴的结果。演示fiddle
function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
return true;
}
function filterInput() {
var filtered = [];
setTimeout(function(){
var data = document.querySelector('#mobile').value.split('');
for (var i = 0; i < data.length; i++) {
if (data[i] != ' ' && !isNaN(data[i])) {
filtered.push(data[i]);
}
}
document.querySelector('#mobile').value = filtered.join('');
}, 100)
}
<input type="text" id="mobile" placeholder="Phone Number" onkeypress="return isNumber(event)" onpaste="filterInput()">
答案 1 :(得分:0)
您可以使用输入事件来调用keydown和粘贴事件以及过滤输入,如下所示:
$('input#mobile').on('input', function(key){
// your filtration code
});
希望它有效!