删除所有输入标记的简单方法

easy way to remove all enter marks

我从此页面获得的以下代码按预期工作。

How can I replace newlines/line breaks with spaces in javascript?

var words = "car\r\n\r\nhouse\nhome\rcomputer\ngo\n\nwent";
document.body.innerHTML = "<pre>OLD:\n" + words + "</pre>";
var new_words = words.replace(/[\r\n\x0B\x0C\u0085\u2028\u2029]+/g," ");
document.body.innerHTML += "<pre>NEW:\n" + new_words + "</pre>";

但在我的例子中,words 变量只不过是表单中的文本,我正在寻找一种方法将此脚本转换为小书签。书签代码与普通代码有何不同?

尝试将 words 声明替换为

var words = document.querySelector("textarea").value;

获取页面上第一个文本区域元素的文本内容。 HTMLTextAreaElementvalue 属性 来访问他们的文本内容。

为了显而易见,第一行只是初始化文本区域中的值。

document.querySelector('textarea').value =
  'car\r\n\r\nhouse\nhome\rcomputer\ngo\n\nwent';

function replace() {
  const textarea = document.querySelector('textarea');

  textarea.value = textarea.value
    .replace(/[\r\n\x0B\x0C\u0085\u2028\u2029]+/g, ' ');
}
<textarea cols="50" rows="10"></textarea>

<button onclick="replace();">Replace</button>

书签

javascript: {
  const textarea = document.querySelector('textarea');

  void (textarea.value = textarea.value
    .replace(/[\r\n\x0B\x0C\u0085\u2028\u2029]+/g, ' '));
}

要拖动到书签的小书签:

<a href="javascript: {const textarea = document.querySelector('textarea'); void (textarea.value = textarea.value.replace(/[\r\n\x0B\x0C\u0085\u2028\u2029]+/g, ' '));}">Bookmarklet</a>