2

我想删除行首和行尾的多余空格,但保留换行符,这就是我尝试过的。

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

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

4

3 回答 3

0

只需使用.trim()

function removeSpaces(string) {
      return string.trim();
}
于 2016-06-22T05:17:32.170 回答
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;
}

希望这可以帮助!:)

于 2016-06-22T01:53:11.453 回答
0
function removeSpaces(string) {
        // Remove line breaks
        var str = string.replace(/\n/g,"");     
        return str.split(' ').join('');   
}
于 2016-06-22T03:20:47.640 回答