Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > удалить пробелы


Автор: knut 17.9.2009, 20:55
добрый день
есть spam в спаме текст 
Код

<span id="Text">
тест, тест, тест, тест,тест, тест,тест, тест,тест, тест,тест, тест
тест, тест, тест, тест,тест, тест,тест, тест
тест, тест, тест, тест,тест, тест
тест, тест, тест, тест.
</span>
var row=document.getElementById('Text').innerHTML;


в row получайю вес текст.
вопрос как мне удатлить все пробелы с начало и конца строки и все пробелы из начале и из конце каждой подстоки

Автор: Amphiluke 17.9.2009, 21:19
Код

var row=document.getElementById('Text').innerHTML;
row = row.replace(/\s/g, " ");
row = row.replace(/^\s+/g, "");
row = row.replace(/\s+$/g, "");


Добавлено @ 21:24
Прошу прощения, невнимательно прочитал.
Код

var row=document.getElementById('Text').innerHTML;
row = row.replace(/\s+\n/g, "\n");
row = row.replace(/\n\s+/g, "\n")
row = row.replace(/^\s+/g, "");
row = row.replace(/\s+$/g, "");

Автор: knut 17.9.2009, 21:37
Amphiluke, 
в твоем примере удаляются все пробелы до начало второй строки 

Автор: Amphiluke 17.9.2009, 21:43
Я проверяю вот так — с помощью вывода в контейнер «предварительно отформатированного текста» <pre>
Код

<span id="Text">
                                тест, тест, тест, тест,тест, тест,тест, тест,тест, тест,тест, тест
тест, тест, тест, тест,тест, тест,тест, тест                                                          
                       тест, тест, тест, тест,тест, тест
тест, тест, тест, тест.                    
</span>

<p>Initial text:</p>
<pre id="initTxt" style="border: 1px solid #777777; overflow: auto;"></pre>
<p>Modified text:</p>
<pre id="txt" style="border: 1px solid #777777; overflow: auto;"></pre>

<script type="text/javascript">
var row=document.getElementById('Text').innerHTML;
document.getElementById("initTxt").innerHTML = row;
row = row.replace(/\s+\n/g, "\n");
row = row.replace(/\n\s+/g, "\n")
row = row.replace(/^\s+/g, "");
row = row.replace(/\s+$/g, "");
document.getElementById("txt").innerHTML = row;
</script>


Теперь чтобы проверить, что все лишние пробелы удалились, достаточно выделить текст в первом контейнере <pre> (исходный текст) и потом — во втором (с удаленными пробелами). У меня все ненужные пробелы удаляются.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)