У меня есть ввод
<input>
Когда кто-то вставляет многострочный текст во ввод, мне нужны новые строки (\r
, \n
и \r\n
) и вкладки \t
заменить на запятую ,
.В большинстве случаев входные данные поступают из Microsoft Excel или Apple Numbers, когда пользователь копирует столбец или строку.
В настоящее время я пытаюсь выполнить этот jQuery
$(function(){
// jQuery paste event. how trendy!
$('input').on('paste', function(e){
var e = $(this);
setTimeout(function(){
e.val( $.trim(e.val()).replace(/\s+/g, ',') );
}, 0);
});
});
Проблема
В некоторых ячейках их электронной таблицы могут быть пробелы, поэтому /\s+/g
будет слишком широким.Однако /[\r\n\t]+/g
не работает.На самом деле, я не думаю, что jQuery даже имеет доступ к значению ввода до удаления новых строк.
Подпишитесь на jsFiddle
Я предоставил jsfiddle с ожидаемыми входами и выходами
<!-- sample input, copy below this line --
one
2
hello world
foo bar
m3000
-- end copy -->
<!-- output should look like
one, 2, hello world, foo bar, m3000
-->