Удаление пробелов без разрывов строк в текстовой области JS или jQuery
Я хочу убрать лишние пробелы в начале и конце строк, но сохранить разрывы строк, это то, что я пытался.
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'
3 ответа
Просто используйте .trim()
function removeSpaces(string) {
return string.trim();
}
function removeSpaces(string) {
// Remove line breaks
var str = string.replace(/\n/g,"");
return str.split(' ').join('');
}
Ваш код наиболее определенно удалит все пробелы.
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;
}
Надеюсь это поможет!:)