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

Как заставить функцию не реагировать на пробелы?
Подскажите, есть поле с исходной строкой и поле с искомой строкой.
Допустим в первом поле занесено "добрый день".
Во втором "до де"

Результат поиска выводится в id="result
И был бы он таким "добрый день"
То есть при на второе поле вешается oninput и выполняется поиск вхождения второго поля в первой. Это работает в целом. Но есть небольшой косяк. При вводе во вторую строку допустим "до" он выделит "добрый день"
но если я после этого введу пробел в строке и там будет соответственно "до " то результат получается "b"до"/b"брый день
Собственно пытаюсь сделать так, чтобы функция не реагировала на пробелы последним символов как минимум))
Исходная строка: <br><input type="text" id="text" placeholder="Введите текст..."><br/><br/>
Искомые совпадения: <br><input type="text" name="search" id="search" placeholder="Введите текст...">
<p id="result"></p>

search.oninput = function() {
   t = document.getElementById("search").value;
   word =  t.trim().split(' ');
   for (var i = 0; i < word.length; i++){
       if(i<1)
      replaced= text.value.replace(new RegExp(word[i],'g'),"<b>"+word[i]+"</b>");
    else
      replaced= replaced.replace(new RegExp(word[i],'g'),"<b>"+word[i]+"</b>");
   }
  result.innerHTML=replaced;
   }

Последний раз редактировалось Adrikks, 13.12.2019 в 17:10.
Ответить с цитированием