尝试按 \n 拆分输入时如何将用户输入 \n 包含到文本区域中?
How to incude user inputs \n into a textarea when trying to split the input by \n?
我将 textarea
的输入拆分成这样的单独行。
const lines = $('#myTextarea').val().split('\n');
然而,当用户输入 \n
时,我也会将其拆分,但这不知何故被忽略了。
所以当用户在textarea中的输入是:
first line \n second line
third line
fourth line
我希望有一个 [first line,second line, third line, fourth line]
的数组
但我得到[first line \n second line, third line, fourth line]
您可以使用这个简单的 regex
- /\s+/
和 .trim()
函数来获得您想要的输出并确保每个 space 或多个 [=28=使用 split()
时,]s 被转换为每一行
现场演示:
function getText() {
let lines = $('#myTextarea').val().trim().split(/\s+/);
console.log(lines)
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<textarea id="myTextarea" cols="50" rows="4" placeholder="Enter text"></textarea>
<br>
<button onclick="getText()">
Split
</button>
我将 textarea
的输入拆分成这样的单独行。
const lines = $('#myTextarea').val().split('\n');
然而,当用户输入 \n
时,我也会将其拆分,但这不知何故被忽略了。
所以当用户在textarea中的输入是:
first line \n second line
third line
fourth line
我希望有一个 [first line,second line, third line, fourth line]
但我得到[first line \n second line, third line, fourth line]
您可以使用这个简单的 regex
- /\s+/
和 .trim()
函数来获得您想要的输出并确保每个 space 或多个 [=28=使用 split()
现场演示:
function getText() {
let lines = $('#myTextarea').val().trim().split(/\s+/);
console.log(lines)
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<textarea id="myTextarea" cols="50" rows="4" placeholder="Enter text"></textarea>
<br>
<button onclick="getText()">
Split
</button>