且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

用新行(包括空行)将textarea中的文本拆分为javascript数组

更新时间:2023-12-04 13:09:52

您的.split将包含\ n,但是当line为false时,您可以压入一个空字符串...

Your .split will include \n, but when line is falsey you can just push an empty string...

$(function(){
    var lines = [];
    $.each($('#data').val().split(/\n/), function(i, line){
        if(line){
            lines.push(line);
        } else {
            lines.push("");
        }
    });
    console.log(lines);
});

这是一个有效的示例: JSFiddle

Here is a working example : JSFiddle

输出:

["I like to eat icecream. Dogs are fast.", 
"",  "The previous line is composed by spaces only.",  
"",  "",  "", 
"The last 3 lines are empty.",  
"",  "One last line."]

或者就像上面的注释所暗示的那样(我假设您的示例已经简化,并且您需要在.each循环中做其他事情):

Or simply as comment above suggests (I had assumed that your example had been simplified and you need to do something else in the .each loop):

var lines = $('#data').val().split(/\n/);

JS小提琴