Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在不添加方法或类的情况下修剪所有输入中的空格?_Javascript_Jquery - Fatal编程技术网

Javascript 如何在不添加方法或类的情况下修剪所有输入中的空格?

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, " "). //

我试图在不添加类、id或事件的情况下,从输入的开头和结尾删除空格

我尝试过这个,但正在使用onchange事件

<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);
  });
});