删除文本区域中的换行符

jij*_*iju 1 javascript

如何使用Java脚本检测文本区域中的换行符?如果文本区域中存在两个连续的空行,则删除一个空行;如果仅存在一行,也将其删除。

谁可以帮我这个事?目前我只能删除单行。

Line 1


Line 2

Line3 
Run Code Online (Sandbox Code Playgroud)

应转换为:

Line 1

Line 2
Line3 
Run Code Online (Sandbox Code Playgroud)

Emi*_*ary 5

您可以使用正则表达式来捕获和替换字符串中的模式。例如

value.replace(/(\n\n?)\n+/g, '$1');
Run Code Online (Sandbox Code Playgroud)

var input = document.getElementById('input'),
    output = document.getElementById('output');

output.value = input.value.replace(/(\n\n?)\n+/g, '$1');
Run Code Online (Sandbox Code Playgroud)
textarea { height: 180px; float: left; }
Run Code Online (Sandbox Code Playgroud)
<textarea id="input">
one return

two returns


three returns



four returns
</textarea>

<textarea id="output"></textarea>
Run Code Online (Sandbox Code Playgroud)

» 正则表达式 101


编辑:描述不清楚,只删除一个换行符在现实世界中听起来没有用,所以我将保留原始答案不变。关于“如果有 3 或 4 个空行,我需要单独删除一个空行” - 你的意思是以下......

value.replace(/(\n*)\n/g, '$1');
Run Code Online (Sandbox Code Playgroud)

var input = document.getElementById('input'),
    output = document.getElementById('output');

output.value = input.value.replace(/(\n*)\n/g, '$1');
Run Code Online (Sandbox Code Playgroud)
textarea { height: 180px; float: left; }
Run Code Online (Sandbox Code Playgroud)
<textarea id="input">
one return

two returns


three returns



four returns
</textarea>

<textarea id="output"></textarea>
Run Code Online (Sandbox Code Playgroud)