2016-06-22 13 views
1

我想删除行首和行尾的多余空格,但保留换行符,这是我的尝试。删除空格但留下换行符在文本区域中使用JS或jQuery

function removeSpaces(string) { 
 
return string.split(' ').join(''); 
 
}
<center> 
 
\t <form action="getid.php" method="post"> 
 
\t \t <textarea name="items" id="itemNames" cols="100" rows="10" onblur="this.value=removeSpaces(this.value);"></textarea><br /> 
 
\t \t <input type="submit" value="Get dem IDs"> 
 
\t \t <input type="button" id="remove" value="Remove extra spaces"> 
 
\t </form> 
 
</center>

但是,相反,它是删除所有空格和 '\ n'

+0

不知道为什么你的Java标记。将删除。 –

+0

我删除了Java标记,因为这个问题与Java无关。 –

+0

想要标记Javascript,抱歉。 – user1114748

回答

0

您的代码都肯定会删除所有空格。

string.split(' ') 

用空格分隔整个字符串,其中包括字符串本身之前,之后和之内的空格。

我的做法如下:

function removeSpaces(string) { 
    // Remove leading spaces 
    while(string.indexOf(' ') === 0) { 
     string = string.substr(1); 
    } 
    // Remove trailing spaces 
    while(string[string.length-1] === ' ') { 
     string = string.substr(0, string.length-1); 
    } 
    return string; 
} 

希望这有助于! :)

+0

尝试了它,删除了您键入的空格,但在复制/粘贴时删除了空格。 – user1114748

+0

您能否提供您用于测试的示例输入? –

+0

https://jsfiddle.net/Lov705o7/ – user1114748

0
function removeSpaces(string) { 
     // Remove line breaks 
     var str = string.replace(/\n/g,"");  
     return str.split(' ').join(''); 
} 
+0

感谢您的帮助,尝试过它并没有奏效。 – user1114748

+0

\t <形式行动= “getid.php” 方法= “POST”> \t \t
\t \t \t \t \t

0

只使用.trim()

function removeSpaces(string) { 
     return string.trim(); 
} 
+0

https://jsfiddle.net/2dus6L83/ 与 http://pastebin.com/e5R1zXez 并没有为我工作 – user1114748

+0

是,的jsfiddle不工作。但试试吧把这个函数放在jsfiddle的html框的底部!这将起作用 –

+0

这就是我所做的... – user1114748

相关问题