我有一个带有额外空格的输入文本字段
12 12 12
我希望在将其粘贴到我的文本字段后删除多余的空格。
121212
但是,我的代码似乎对我不起作用。
HTML
<input type="text" id="text1" onPaste="try123(this.id);"/>
的JavaScript
function try123(fId) {
cleanExtraSpace = function (e) {
e.preventDefault();
var pastedText = '';
//IE browser OnPaste Event Handler
if (window.clipboardData && window.clipboardData.getData) {
pastedText = window.clipboardData.getData('Text');
} else if (e.clipboardData && e.clipboardData.getData) {
pastedText = e.clipboardData.getData('text/plain');
}
//Remove start and end extra spaces on paste
this.value = pastedText.replace(/\D/g, '');
};
fId.onpaste = cleanExtraSpace;
}
&#13;
<input type="text" id="text1" onPaste="try123(this.id);"/>
&#13;
我指的是这篇文章, JavaScript - Remove Space on paste
有人可以帮我纠正吗?
提前致谢。
答案 0 :(得分:1)
请尝试以下操作。
输入:<input type="text" id="nums" name="nums">
var input = document.getElementById('nums');
function handleInput(e) {
var el = this;
window.setTimeout(function() {
el.value = el.value.replace(/\D/g, '');
}, 0);
}
input.addEventListener('paste', handleInput, false);
答案 1 :(得分:0)
尝试这个。
HTML
<input type="text" id="search" name="search">
JavaScript
document.getElementById('search').addEventListener('paste', handlePaste);
function handlePaste(e){
e.preventDefault();
var clipboardData = e.clipboardData || window.clipboardData;
var pastedData = clipboardData.getData('Text');
var searchField = document.getElementById('search');
searchField.value = pastedData.trim();
}
使用它可以删除多余的空格(键盘粘贴和鼠标粘贴)。