С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/78: Рейтинг темы: голосов - 78, средняя оценка - 4.63
 Аватар для Alexdemath
128 / 125 / 39
Регистрация: 11.04.2010
Сообщений: 255

Заменить переносы строк на пробелы в выделенном тексте в textarea

07.10.2012, 17:23. Показов 15775. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, подскажите, как заменить переносы строк на пробелы и удалить лишние пробелы в выделенном тексте в textarea?

Получилось только удалить переносы строк, а вот почистить лишние пробелы не получается


HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<html>
<head>
<script type="text/javascript">
function replaceSelectedText(obj,cbFunc)
{
    obj = document.getElementById('txt');
    obj.focus();
    if (document.selection) 
       { var s = document.selection.createRange(); 
         if (s.text) {eval('s.text='+cbFunc+'(s.text);'); s.select(); return true;}
       }
    else if (typeof(obj.selectionStart)=='number')
            { if(obj.selectionStart!=obj.selectionEnd)
                { var start = obj.selectionStart, end = obj.selectionEnd;
                  eval('var rs = '+cbFunc+'(obj.value.substr(start,end-start));');
                  obj.value = obj.value.substr(0,start)+rs+obj.value.substr(end);
                  obj.setSelectionRange(end,end);
                }
              return true;
            }
    return false;
}
function delBr(s){return s.replace(/[\n\r]/g, ' ')}
</script>
</head>
 
<body>
<textarea id="txt" style="width:400px; height:150px;">Выделите и нажмите кнопку
Lorem ipsum
dolor sit amet,
consectetur
adipisicing
elit,</textarea>
<br>
<input type="button" onClick="replaceSelectedText(this,delBr);" value="Удалить разрывы">
</body>
</html>
Добавлено через 4 часа 48 минут
Разобрался, вроде бы, - нужно просто чуть корректней составить регулярку (строка 23)

/[\n\r ]{2,}/g или /[\s]{2,}/g (для всех пробельных символов).

Верно?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.10.2012, 17:23
Ответы с готовыми решениями:

Убрать пробелы и переносы строк
Привет, помогите нубу Есть переменная в которой большооой текст, и там полно пробелов и переносов строк. Так вот, как убрать все эти...

Удалить переносы строк в начале и конце но не удалять пробелы
Как удалить переносы в начале и конце строчки, так же удалить отступы, пробелы с конца. Но, оставить отступы, пробелы в начале, у первой...

Чтение чисел из файла, содержащего концевые пробелы и переносы строк.
Здравствуйте! Помогите, пожалуйста, разобраться со следующей задачей. В текстовом файле содержатся целые числа, разделенные...

4
Заблокирован
08.10.2012, 08:48
eval (), конечно, доставляет

function delBr (s) {return s.replace (/[\n\r]/g, ' ').replace (/\s{2,}/g, ' ')}
1
 Аватар для Alexdemath
128 / 125 / 39
Регистрация: 11.04.2010
Сообщений: 255
08.10.2012, 10:55  [ТС]
Цитата Сообщение от Notortep Посмотреть сообщение
function delBr (s) {return s.replace (/[\n\r]/g, ' ').replace (/\s{2,}/g, ' ')}
Спасибо, всё понятно и, главное, работает.

Цитата Сообщение от Notortep Посмотреть сообщение
eval (), конечно, доставляет
Как получилось

А чем его заменить? Как ещё работать в выделенным?
0
Заблокирован
08.10.2012, 11:15
ничем не заменять - просто убрать
да и return'ы зачем нужны?
зачем кнопке <input type="button"> возвращать истину/ложь?
она чего, от лжи краснеет, как ваш смайлик?
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function replaceSelectedText (obj)
{
var obj = document.getElementById ('txt'); obj.focus ();
if (document.selection) 
   {
   var s = document.selection.createRange (); 
   if (s.text) s.text = delBr (s.text), s.select ();
   }
else if (typeof (obj.selectionStart) == 'number' && obj.selectionStart != obj.selectionEnd)
   {
   var start = obj.selectionStart, end = obj.selectionEnd,
   rs = delBr (obj.value.substr (start, end - start));
   obj.value = obj.value.substr (0, start) + rs + obj.value.substr (end);
   obj.setSelectionRange (end, end);
   }
}
 
function delBr (s) {return s.replace (/[\n\r]/g, ' ').replace (/\s{2,}/g, ' ')}
1
 Аватар для Alexdemath
128 / 125 / 39
Регистрация: 11.04.2010
Сообщений: 255
08.10.2012, 12:11  [ТС]
Цитата Сообщение от Notortep Посмотреть сообщение
ничем не заменять - просто убрать
да и return'ы зачем нужны?
зачем кнопке <input type="button"> возвращать истину/ложь?
она чего, от лжи краснеет, как ваш смайлик?
Взял отсюда http://www.tigir.com/javascript.htm "оригинал-макет". Прошу прощение, если ввёл Вас заблуждение.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.10.2012, 12:11
Помогаю со студенческими работами здесь

Переносы строк в тексте при использовании heredoc-синтаксиса
Выписал из книги вот такой вот пример: &lt;?php $author = &quot;Brain W. Kernighan&quot;; echo &lt;&lt;&lt;_END Debuggin is twice as hard as writing...

В тексте заменить пробелы дефисом
при наличии двух и более пробелов подряд, удалить все пробелы начиная со второго

Заменить троеточия в тексте на точки и пробелы
Пожалуйста помогите! Есть задание - выделить предложения из текста. В процессе выполнения столкнулся с проблемой: дана строка....

Заменить в тексте все пробелы на пробел с запятой
Написать программу,которая изменяет текст созданного текстового файла заменяя все знаки пробела на запятую с пробелома. Измененный текст...

Переносы в textarea при document.getElementById('msg').value
Здравствуйте. У меня есть простенький скрипт гостевой книги. все делается ajax(ом). Т.е из php файла, при клике на кнопку, подгружается...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru