Показать сообщение отдельно
  #1 (permalink)  
Старый 28.08.2019, 23:45
Интересующийся
Отправить личное сообщение для pautinaweb Посмотреть профиль Найти все сообщения от pautinaweb
 
Регистрация: 01.06.2010
Сообщений: 12

Много кода в скрипте
Помогите правильно написать функцию.
Мне надо нужно из строки удалить:
  1. Удалить пробелы за и после запятых (,)
  2. Удалить пробелы за и после прямого слеша (|)
  3. Повторяющиеся двойные запятые (,,)
  4. Повторяющиеся двойные символы слеша (||)
  5. Удалить запятую перед слешем (,|)
  6. Удалить слеши, пробелы или запятые в конце строки
  7. Ну и все лишние пробелы
на писал функцию по событию:
$("#ID").on('blur', function(){
        var str = $(this).val();
        str = str.replace(/\s+/g, ' ').trim();
        str = str.replace(/\,,+/g, ',').trim();
        str = str.replace(/\,+/g, ',').trim();
        str = str.replace(/\s\,+/g, ',').trim();
        str = str.replace(/\,\s+/g, ',').trim();
        str = str.replace(/\s\|+/g, ',').trim();
        str = str.replace(/\|\s+/g, '|').trim();
        str = str.replace(/\|\s+/g, '|').trim();
        str = str.replace(/\|\|+/g, '|').trim();
        str = str.replace(/\,\|+/g, '|').trim();
        str = str.replace(/,\s*$/, '');
        str = str.replace(/\|*$/, '');
        $(this).val(str.trim());
    });


Вроде работает, но мне кажется это какой то бред))) в регулярках не разбираюсь особо((
Подскажите можно ли как то компактнее код сделать или может в JQuery какие то способы есть для этого более удобные.

То что нужно на примере
мне из этого:
слово слово, слово, слово слово|слово , ,слово слово ,слово ,|слово ,слово ,слово слово ,слово |
Нужно получить это:
слово слово,слово,слово слово|слово,слово слово,слово|слово,слово,сло во слово,слово

Последний раз редактировалось pautinaweb, 28.08.2019 в 23:49. Причина: Для наглядности что нужно
Ответить с цитированием