jquery用逗号和换行分割textarea值

时间:2016-02-15 07:19:38

标签: jquery split

我有这个texarea,我想在用户的keyup之后用逗号和新行解析它的值。样品

INPUT

 /*  inside textarea */
   2 water, 4 ice
   6 lemon

输出:

  Total # of Items: 3

  Item #               Quantity          Item Name
    1                     2               Water
    2                     4                Ice 
    3                     6               Lemon 

这是到目前为止的代码:

$('#$name').keyup(function (event) {
$("#textAreaDiv").show();   
if(event.keyCode == 188){
    $("#textAreaTaggingDetails").html(getItems($('#$name').val().split('\\n'), 'comma'));   
    //console.log("comma press");
}   
else if (event.keyCode == 13) {     
    //console.log("new line press");
    $("#textAreaTaggingDetails").html(getItems($('#$name').val().split(','), 'newLine'));   
}

});

 function getItems(eachLine, type){     
   var xcontent = "";       
   $("#titleTextAreaTagging").html('Total # of Items: ' + eachLine.length + '<br/>');

   for(var i = 0, l = eachLine.length; i < l; i++) {

       var quantity = (eachLine[i]).match(/\d+/);
       var itemName = (eachLine[i]).replace(/[0-9]+/, "");

       xcontent += "<div class=\"col-md-4\"><h6 class=\"text-info mn\" id=\"titleTextAreaTagging\">"+ (i+1) +"</h6></div><div class=\"col-md-4\"><h6 class=\"text-info mn\" id=\"titleTextAreaTagging\">"+ quantity  +"</h6></div><div class=\"col-md-4\"><h6 class=\"text-info mn\" id=\"titleTextAreaTagging\">"+ itemName +"</h6></div>";

  }

  return xcontent;

}

有了这个,我只能用新行获得正确的输出,但不能用逗号

1 个答案:

答案 0 :(得分:2)

你可以做的是,你可以先用逗号替换所有新行,然后用逗号分割,这很容易。

str = $('#$name').val().replace(/(?:\r\n|\r|\n)/g, ',');


var partsOfStr = str.split(',');