为新行分割粘贴文本(textarea)
问题描述:
我想将每个,
和,
都粘贴到textarea的字符串分割为新行。另外:替换空白行后应删除。为新行分割粘贴文本(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);
});
答
你的代码的工作,你只需要同时删除空格周围的物品和删除重复的换行符:
$("#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);
});
答
试试这个
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);
小提琴Demo-- http://jsfiddle.net/RahulB007/2cqxbu7v/
究竟什么是它的问题?你会得到什么结果? – Avishek 2014-12-02 13:52:48
小提琴链接请 – 2014-12-02 13:54:38
为什么超时? – 2014-12-02 13:56:54