jQuery Textarea - Удалить интервал, но добавить разрывы строк после каждого слова - PullRequest
0 голосов
/ 13 марта 2020

Я не могу найти решение этой проблемы, поэтому я даю ТАК шанс. Я пытаюсь изменить текст, который пользователь вставляет в текстовую область. До сих пор я сделал так, чтобы это удалило все пробелы, но это пришло с удалением разрывов строк.

Это мой необработанный текст:

CM 80 326
            CM 80 326

Вот как оно вставлено:

CM80326CM80326

Вот что я пытаюсь достичь:

CM80326
CM80326

Как бы я это сделал. Вот то, что я имею в виду: https://gyazo.com/9734d56834d281801839b29044ad8d96

А вот код, который я использую:

jQuery(document).on('paste', '.textarea--listofvehicles', function(e) {

    e.preventDefault();

    // prevent copying action
    var withoutSpaces = e.originalEvent.clipboardData.getData('Text');
    withoutSpaces = withoutSpaces.replace(/\s+/g, '');
    jQuery(this).val(withoutSpaces);

});

Заранее спасибо: D

1 Ответ

0 голосов
/ 13 марта 2020

Возможно, это не идеальный ответ, но мне удалось заставить его работать следующим образом:

jQuery(document).on('paste', '.textarea--listofvehicles', function(e) {
    e.preventDefault();

    var withoutSpaces = e.originalEvent.clipboardData.getData('Text');
    withoutSpaces = withoutSpaces.replace(/ /g, '');
    withoutSpaces = withoutSpaces.replace(/ /g, '');
    jQuery(this).val(withoutSpaces);
});

^ Это работает. Почему? Сначала я заменяю все нормальные пробелы ничем. Поэтому никаких мест не будет видно. Однако, если кто-то публикует что-то отформатированное, тогда может быть включен интервал «табуляции». Это как нормальное пространство, но дольше. Таким образом, замена этого ничем также очищает это. И это работает. Я доволен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...