35

您将如何根据行尾分隔将 textarea 值分解为数组?使用 jQuery 对我来说很酷……

4

6 回答 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);

      }        
});

取自:CONVERT TEXTAREA CONTENT TO AN ARRAY USING JQUERY

于 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 回答