Есть много способов, вы можете сделать это, но я считаю, что проще понять, с тремя отдельными заменами:
function cleanup(str) {
return str
.replace(/ +/g, ' ')
.replace(/^ /, '')
.replace(/ $/, '');
}
console.log(
"'" +
cleanup(" My name is Eddy ") +
"'"
);
Журналы:
'My name is Eddy'
Это совместимо с очень старыми браузерами, а также с новыми.
Редактировать: вы хотите удалить все ведущие пробелы, но если есть конечные пробелы, вы хотите сохранить одно конечное пространство, верно? Это не то, как вы описали проблему.
Если вы посмотрите на функцию cleanup
я отправил, должно быть понятно, как это исправить, чтобы не удалять завершающие пробелы:
function cleanup(str) {
return str
.replace(/ +/g, ' ')
.replace(/^ /, '');
}
console.log(
"'" +
cleanup(" My name is Eddy ") +
"'"
);
Журналы:
'My name is Eddy '
Существуют ли в триммер не работает для вас ? [Демо] (http://jsfiddle.net/HCnnY/). Также [см.] (Http://www.sitepoint.com/trimming-strings-in-javascript/) – Roopendra
Почему пространство после 'Eddy' не удаляется в первом примере? – Bergi
@Bergi Используется для моего авто. Я просто хочу удалить дублированный запрос на сервер. – Eddy