За последние 24 часа нас посетили 17055 программистов и 1835 роботов. Сейчас ищут 1645 программистов ...

JavaScript regexp спуски и пробелы убрать

Тема в разделе "Регулярные выражения", создана пользователем rognorog, 30 сен 2014.

  1. rognorog

    rognorog Новичок

    С нами с:
    7 июл 2014
    Сообщения:
    330
    Симпатии:
    0
    Всем доброго! Знающие, пожалуйста помогите исправить оплошность.
    Нужно оставить в строке только " буквы, цифры, 1-пробел (если встречается больше 1 или знаки табуляций их нужно удалять), 1 спуск строки (если строка пустая ее оставлять не нужно) "
    Задача оказалась не простая, но я не могу понять, почему не остаются спуски:
    Код (PHP):
    1. var value='1. Первая     строка, 
    2. 2. Вторая строка,   текс, текст
    3. 3. Третья строка,             текст.... текст!!!;":';
    4. value=value.toLowerCase().replace(/[^0-9a--я\s]/g,'').replace(/\s+/gi,' '); 
    Получается так:
    1 первая строка 2 вторая строка текс текст 3 третья строка текст текст
    А нужно получить так:
    1 первая строка
    2 вторая строка текс текст
    3 третья строка текст текст

    Что я упустил, я уже запарился менять туда - сюда, но когда убираю replace(/\s+/gi,' ') у меня остаются " строки но и табуляция и более одного пробела тоже ".
    Как мне исправить это? Помогите советом, или может кто знает решение.

    Добавлено спустя 25 минут 2 секунды:
    Стоило было написать и решил сам =)))
    Код (PHP):
    1. var value='1. Первая     строка, 
    2. 2. Вторая строка,   текс, текст
    3. 3. Третья строка,             текст.... текст!!!;":',
    4. split=value.split("\n"),
    5. join=[];
    6. split.forEach(function(value) {
    7.     if($.trim(value)) {
    8.         join.push($.trim(value.toLowerCase().replace(/[^0-9a--я\s]/g,'').replace(/\s+/g,' ')));
    9.     }
    10. });
    11. value=$.trim(join.join("\n")).replace(/\n{2,}/,"\n"); 
    Получаю, то, что нужно:
    1 первая строка
    2 вторая строка текс текст
    3 третья строка текст текст

    Буду рад, любым, другим решениям.
     
  2. dapperkop

    dapperkop Активный пользователь

    С нами с:
    26 сен 2013
    Сообщения:
    890
    Симпатии:
    0
    Так а что за задача то? Что делал то?
     
  3. rognorog

    rognorog Новичок

    С нами с:
    7 июл 2014
    Сообщения:
    330
    Симпатии:
    0
    Чего? Если ты задаешь такие вопросы, то могу предполагать, что ты залетный и даже не читал топик.
     
  4. dapperkop

    dapperkop Активный пользователь

    С нами с:
    26 сен 2013
    Сообщения:
    890
    Симпатии:
    0
    Ты меня раскусил =)

    Чувак, в самой переменной js мало смысла, если на нее содержимое нельзя посмотреть (вернее мало смысла в том, чтобы вырезать лишние пробелы и т. д., если на это негде посмотреть). Ты ведь ее хотел куда-то уаткнуть, правильно? Вот я об этом и спрашиваю, а ты меня не понимаешь =( Что ты делаешь? Как называется тот элемент страницы, для которой ты мутишь вышенаписанное?
     
  5. rognorog

    rognorog Новичок

    С нами с:
    7 июл 2014
    Сообщения:
    330
    Симпатии:
    0
    Чувак, тебе не понять, ты не шаришь.
     
  6. dapperkop

    dapperkop Активный пользователь

    С нами с:
    26 сен 2013
    Сообщения:
    890
    Симпатии:
    0