Javascript 从文本区域中删除第一行 我有一个工具,可以从确认(文本)中删除空白行,但是由于某种原因,有一个没有被作为空白行读取的顶部行,并且没有被删除。 目前,我的工具允许用户将文本粘贴到文本区域,然后单击“删除空格和复制”按钮,删除空白行并将文本复制到剪贴板。 我想保留相同的功能,但在文本输入到文本区域或单击“删除空格和复制”按钮时,以某种方式删除第一行 <script> function copyToClipboard(element) { var text = $(element).clone().find('br').prepend('\r\n').end().text() element = $('<textarea>').appendTo('body').val(text).select() document.execCommand('copy') element.remove() } </script> 功能copyToClipboard(元素){ var text=$(元素).clone().find('br').prepend('\r\n').end().text() 元素=$(“”).appendTo('body').val(text).select() document.execCommand('copy') 元素。删除() }

Javascript 从文本区域中删除第一行 我有一个工具,可以从确认(文本)中删除空白行,但是由于某种原因,有一个没有被作为空白行读取的顶部行,并且没有被删除。 目前,我的工具允许用户将文本粘贴到文本区域,然后单击“删除空格和复制”按钮,删除空白行并将文本复制到剪贴板。 我想保留相同的功能,但在文本输入到文本区域或单击“删除空格和复制”按钮时,以某种方式删除第一行 <script> function copyToClipboard(element) { var text = $(element).clone().find('br').prepend('\r\n').end().text() element = $('<textarea>').appendTo('body').val(text).select() document.execCommand('copy') element.remove() } </script> 功能copyToClipboard(元素){ var text=$(元素).clone().find('br').prepend('\r\n').end().text() 元素=$(“”).appendTo('body').val(text).select() document.execCommand('copy') 元素。删除() },javascript,regex,whitespace,Javascript,Regex,Whitespace,<!----------- BUTTONS ------------> <div class="fixed"> <button onclick="copyToClipboard('#p20')" class="templateBtn">Remove Spaces & Copy</button> <input type="button" data-bind="click: clearValue" value="clear" class=




<!----------- BUTTONS ------------>
<div class="fixed">
<button onclick="copyToClipboard('#p20')" class="templateBtn">Remove Spaces & Copy</button>
<input type="button" data-bind="click: clearValue" value="clear" class="templateBtn" />
<script type="text/javascript">
    var viewModel = {
   myValue: ko.observable(''),
   cleared: ko.observable(false),
   clearValue: function() {       
   this.myValue('');   
   this.cleared(true);
    }
  };

  ko.applyBindings(viewModel);
   </script>

  <!----------- END.BUTTONS ------------>

 <div class="mas" id="hide" ></div>

 <pre contenteditable="true" id="p20" class="templateText">

 </div></div>

删除空格并复制
var viewModel={
myValue:ko.可观察(“”),
已清除:可观察到(错误),
clearValue:函数(){
这个.myValue(“”);
这个。清除(正确);
}
};
应用绑定(视图模型);

这是一个您可以使用的快速修复方法,对替换的文本执行
修剪()

<textarea name="mas" rows="100" rows="50" contenteditable="true"
id="p20" class="content"
onchange="this.value=(this.value.replace(/[\n\r](?!\w)/gi,'')).trim();"
style="height: 500px; width:800px;" type="text"
data-bind="value: myValue, hasFocus: cleared"></textarea>

正则表达式
[\n\r](?!\w)
匹配任何不后跟字母数字或下划线字符的CR或LF。因此,当用空字符串替换空行时,它可以匹配一行中两个行终止符中的第一个<代码>''它与后跟字母的行终止符不匹配。因此,文本开头的行结束符,后跟一个单词字符,保留在原位

定义为“行开始,后跟零个或多个不包括行终止符的空白字符,后跟行结束,后跟零个或多个行终止符”的空行可以由多行正则表达式进行匹配,例如:

/^[ \f\t\v\u00a0\u1680\u180e\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*$[\n\r]*/gm;
其中,第一个字符集用于在删除换行符和回车符后匹配空格(
\s
),而
$[\n\r]*
组件同时匹配行终止符和输入结束符。(已编辑:匹配末尾没有行终止符的尾随空行)

请在下面输入行并单击textarea元素外部以触发更改事件:

函数删除空白行(textArea){
var blankLine=/^[\f\t\v\u00a0\u1680\u180e\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*$[\n\r]*/gm;
textArea.value=textArea.value.replace(空行“”);
}

text区域有一个称为行(和列)的特殊属性。那可能是要看的东西。。。?
/^[ \f\t\v\u00a0\u1680\u180e\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*$[\n\r]*/gm;