您将如何根据行尾分隔将 textarea 值分解为数组?使用 jQuery 对我来说很酷……
问问题
54747 次
6 回答
62
这应该有效(在 Firefox 和 Google Chrome 中测试):
var arrayOfLines = $('#textAreaID').val().split('\n');
于 2010-02-19T21:14:59.703 回答
20
跨平台方式:
var area = document.getElementById("area");
var lines = area.value.replace(/\r\n/g,"\n").split("\n");
于 2015-08-27T04:29:06.203 回答
13
var stringArray = document.getElementById('textarea').value.split('\n');
于 2010-02-19T21:22:01.013 回答
4
我最喜欢“跨平台方式”的答案(https://stackoverflow.com/a/32240738/34806),因为我过去一直在努力处理来自 Mac 的输入。尽管如此,我认为大多数现有答案都可以从额外的步骤中受益。
具体来说,如果有些行是空的怎么办?下面将过滤掉这样的行,以便我们以“紧凑”数组而不是“稀疏”数组结束(或者至少,而不是元素不包含值的数组)
var area = document.getElementById("area");
var lines = area.value.replace(/\r\n/g,"\n").split("\n").filter(line => line);
于 2020-01-24T13:20:43.813 回答
0
你可以试试这个功能:
function textToArray(){
var someArray = [];
var nameList = $("#txtArea").val();
$.each(nameList.split(/\n/), function (i, name) {
// empty string check
if(name != ""){
someArray.push(name);
}
});
于 2013-04-10T17:16:19.820 回答
0
这种方法效果很好:
var textArea = document.getElementById("textAreaId");
var arrayFromTextArea = textArea.value.split(String.fromCharCode(10));
于 2018-12-09T08:25:02.963 回答