拆分新行的粘贴文本(textarea)

时间:2014-12-02 13:50:04

标签: jquery

我想将每个,,分别粘贴到textarea的字符串拆分为新行。另外:更换空行后应删除。

所以这个:

apple,bananas, tomatoes, ,anything.

应该得到:

apple
bananas
tomatoes
anything.

我的尝试:

$("#txtcomplaint").bind('paste', function(e) {
    var elem = $(this);
    setTimeout(function() {
        var text = elem.val(); 
        $("#txtcomplaint").val(text.replace(', ', '\n').replace(',', '\n'));
    }, 100);
});

2 个答案:

答案 0 :(得分:1)

您的代码有效,您只需删除项目周围的空白并删除重复的换行符:

$("#txtcomplaint").bind('paste', function(e) {
    var elem = $(this);
    setTimeout(function() {
        elem.val(function(i, val) {
            return $.trim(val.replace(/\s?,\s?/g, '\n').replace(/\n+/g, '\n'));
        });
    }, 20);
});

Example fiddle

答案 1 :(得分:0)

试试这个

var str="apple,bananas, tomatoes, ,anything";
    var lines = str.split(/,/);
    var texts = [];
    for (var i=0; i < lines.length; i++) {
      if (/\S/.test(lines[i])) {
        texts.push($.trim(lines[i]));
      }
    }
    var n = texts.toString().split(",").join("\n");
    $("#txtcomplaint") .val(n);

小提琴演示 - http://jsfiddle.net/RahulB007/2cqxbu7v/