我想将每个,
和,
分别粘贴到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);
});
答案 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);
});
答案 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);