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

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

07.10.2012, 17:23. Показов 15856. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru