Javascript 如何在不添加方法或类的情况下修剪所有输入中的空格?
我试图在不添加类、id或事件的情况下,从输入的开头和结尾删除空格 我尝试过这个,但正在使用onchange事件Javascript 如何在不添加方法或类的情况下修剪所有输入中的空格?,javascript,jquery,Javascript,Jquery,我试图在不添加类、id或事件的情况下,从输入的开头和结尾删除空格 我尝试过这个,但正在使用onchange事件 <javascript> function trim(el) { el.value = el.value. replace(/(^\s*)|(\s*$)/gi, ""). // removes leading and trailing spaces replace(/[ ]{2,}/gi, " "). //
<javascript>
function trim(el) {
el.value = el.value.
replace(/(^\s*)|(\s*$)/gi, ""). // removes leading and trailing spaces
replace(/[ ]{2,}/gi, " "). // replaces multiple spaces with one space
replace(/\n +/, "\n"); // Removes spaces after newlines
return;
}
</script>
<p>Search1: <input type="text" onchange="return trim(this)" /></p>
<p>Search2: <input type="text" onchange="return trim(this)" /></p>
<p>Search3: <input type="text" onchange="return trim(this)" /></p>
<p>Search4: <input type="text" onchange="return trim(this)" /></p>
<p>Search5: <input type="text" onchange="return trim(this)" /></p>
请有人能帮我吗
提前感谢。请尝试
$。在更改上修剪并键入文本:-
jQuery
$(函数(){
$('input[type=“text”]”)。更改(函数(){
this.value=$.trim(this.value);
});
});代码>
搜索1:
搜索2:
搜索3:
搜索4:
Search5:
尝试以下操作:
function trim(el) {
var trimmedValue = el.val().trim();
el.val(trimmedValue);
}
.trim()的语法错误。
要修剪输入值,您不需要任何正则表达式,只需尝试更改以下内容:
$(.input).text().trim();
为此:
$('input').val().trim();
输入不是一个类,所以你不必在它前面加点。然后必须将其包含在“”中。输入值由val()方法给出,而不是text()
这只会修剪输入的值,您必须在函数中使用它,以使其正常工作,如上面的示例所示。这是我发现的最简单的方法之一:),它使用jquery,希望有帮助,它使用您的函数
输入必须仅为:
<input type="text" name="name">
此代码是解决此问题的唯一方法吗?问题是:我有几个javascripts(prototype,jquery),不想制造冲突。OMG极好的回答:你救了我的命,这就是我想要的。非常感谢你的帮助,+1票,+1谢谢。非常感谢你。我发现唯一有效的代码是你的“普通”代码。我在任何地方都没有找到任何实际工作的jquery代码。非常感谢。这个答案已经过时了。只需使用String.prototype.trim()。这里有一些例子:这与你认为的不同。@Mathletics你能更具体一点吗?你有一个(大概)全局函数trim
,它从未被调用过。然后提供示例$('input').val().trim()
将在字符串值上使用String.prototype.trim
,但您没有使用它。这将只返回修剪后的值,而不更新输入的值。我知道如果不调用它,它将不起作用。我编辑了我的答案,希望现在清楚了我的意思。谢谢你,你想什么时候运行?页面加载?点击按钮?如果可以,两个都将是一个很好的帮助。BG101回答得很好,但我有几个脚本,会产生冲突。我还有prototype和jquery-1.4.min,这就是为什么我想要一些简单有用的东西。
$('input').val().trim();
<input type="text" name="name">
function trim_text(el) {
el.value = el.value.
replace(/(^\s*)|(\s*$)/gi, ""). // removes leading and trailing spaces
replace(/[ ]{2,}/gi, " "). // replaces multiple spaces with one space
replace(/\n +/, "\n"); // Removes spaces after newlines
return;
}
$(function(){
$("textarea").change(function() {
trim_text(this);
});
$("input").change(function() {
trim_text(this);
});
});