Удаление пробелов в текстовой области игнорируется jQuery.trim () - PullRequest
0 голосов
/ 09 декабря 2018

У меня есть <textarea>, который содержит текст, называемый php.Текст содержит идентификатор пользователя, поэтому он для каждого пользователя индивидуален.Тем не менее, HTML выглядит всегда так:

<div>
    <textarea id="text" readonly="readonly">"        example text       "</textarea>
</div>

Как мне удалить эти пробелы.Я пробовал несколько вариантов обрезки или подходов Regex на SO, но ни один из них не работает.textarea нельзя изменить на div или p.

Обновление:
Регулярное выражение каким-то образом игнорируется, но приведенный ниже ответ дал результат:

$("#text").val((i, v) => '${v.slice(1, -1).trim()}');

Ответы [ 2 ]

0 голосов
/ 09 декабря 2018

Используйте шаблон регулярного выражения /\s{2,}/g в .replace(), который соответствует нескольким пробелам, и удалите их из строки.

$("#text").val((i, v) => v.replace(/\s{2,}/g, ''));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
    <textarea id="text" readonly="readonly">"        example text       "</textarea>
</div>

Также вы можете удалить " из начала и конца строки, используя String.slice(), а затем удалить пробел, используя .trim().В конце оберните строку с ""

$("#text").val((i, v) => `"${v.slice(1, -1).trim()}"`);
0 голосов
/ 09 декабря 2018

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

$("#text").val($("#text").val().replace(/^"\s+(.*?)\s+"$/,"$1"));
console.log(">"+$("#text").val()+"<")
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
    <textarea id="text" readonly="readonly">"        example text       "</textarea>
</div>
...