Удаление двойных пробелов, удаление пустых строк в textarea
Всем привет. Есть textarea. В ней храниться текст, в котором содержаться двойные пробелы и пустые строки. Код который сейчас использую оработает не соувсем корректно, а именно он удаляет пробелы лишние и строки получаются склеенными ((( Например: Должно быть "Привет 123", а получается "Привет123".
$(document).ready(function () { $('#que1').focusin(function () { var text = $('#que1').val(); text = text.replace(/\r?\n/g, ""); $(this).val(text); }); }); Как можно исправить? И еще вопрос - изменения вступают после наведения фокуса на textarea, а как сделать что бы при нажатии кнопки текст сначала проходил форматирование, а потом далее по коду нажатия кнопки выполнялись действия? Спасибо. |
/\r?\n{2,}/g
|
Не работает (((
|
Цитата:
PS. Да и я тоже хорош, скопировал и... правильно так /(\r?\n){2,}/ |
Вот такое еще решение получилось найти, выше код не
совсем верно работает str.replace(/\s+/g,' ') |
Тогда я не понимаю чего нужно. Речь шла об удалении лишних переносов строк, причем тут пробелы? Переносы удалить, это:
<pre id="str"></pre> <script> var s = `Hello 1111 Hello 2222 Hello 3333`; document.getElementById('str').textContent = s.replace(/(\r?\n){2,}/g, '$1'); </script> |
Спасибо. Почему не срабатывает в таком виде? Суть добавил текст, нажал кнопку, удалились все пробелы, табы и прочие переносы строк - получил результат в textarea.
<script src="http://code.jquery.com/jquery-latest.js"></script> ... <textarea id="que1"></textarea> <input type="button" value="Вывод" onclick=Ext_Out()> ... function Ext_Out() { var que1_text = $("#que1").val(); $(document).ready(function () { $('#que1').focus(function () { var text = $('#que1').val(); text = text.replace(/(\r?\n){2,}/g, '$1'); $(this).val(text); }); }); Строку ввел: 123123123 342423 12312313131 312 31 23 3123211312123 |
А где вы увидели, чтобы обработчик события загрузки документа определялся вызовом функции?
|
Не очень понял (((, знаний пока не хватает. Читаю книги по JS, но по работе столкнулся раньше с формами и приходится пропускать часть курсов. Поэтому есть ошибки и не понимание. Даже если обработчик добавить на страницу с HTML и записать focusin - все равно не срабатывает (
|
$(document).ready(function () ... это функция, которая запустится после загрузки документа, то есть тогда, когда будет сформирован DOM и когда на элементы можно устанавливать обработчики. Для того чтобы реабилитироваться за пропущенные уроки, ответьте себе сами, что происходит у вас в вашем коде, когда вы данную функцию упрятали в пользовательскую функцию.
<html> <head> <meta charset="utf-8"> <title>aaa</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> <script type="text/javascript"> $(function() { //тоже самое что и $(document).ready(function () ... $('#que1').focus(function () { this.value = this.value.replace(/(\r?\n){2,}/g, '$1'); }); }); </script> </head> <body> <textarea id="que1"></textarea> </body> </html> |
Часовой пояс GMT +3, время: 19:02. |