删除jQuery.trim()忽略的textarea中的空白

时间:2018-12-09 18:17:18

标签: javascript jquery string trim removing-whitespace

我有一个<textarea>,其中包含由php调用的文本。文本包含用户的ID,因此每个用户的ID都不相同。但是,html看起来总是这样:

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

如何删除这些空格。我在SO上尝试了多种修整建议或Regex方法,但都没有用。 textarea不能更改为divp

更新
正则表达式被忽略了,但是下面的答案给出了结果:

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

2 个答案:

答案 0 :(得分:1)

您可以使用正则表达式删除引号和空格

$("#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>

答案 1 :(得分:1)

/\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()}"`);