Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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.
Ответить с цитированием
  #2 (permalink)  
Старый 13.12.2019, 10:16
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,210

Сообщение от Adrikks
чтобы функция не реагировала на пробелы последним символов
Как вариант...
var val='до ';
val=val.replace(/\s+$/,'');
alert('"'+val+'"');
Ответить с цитированием
  #3 (permalink)  
Старый 13.12.2019, 10:28
Интересующийся
Отправить личное сообщение для Adrikks Посмотреть профиль Найти все сообщения от Adrikks
 
Регистрация: 13.12.2019
Сообщений: 14

Сообщение от ksa Посмотреть сообщение
Как вариант...
var val='до ';
val=val.replace(/\s+$/,'');
alert('"'+val+'"');
Мне вот тут посоветовали хороший вариант и сработал он прям как надо)
"Попробуй заменить t.split(' '); на t.trim().split(' '); Тогда пробелы с конца строки уйдут" - совет собственно)
Но спасибо за отзывчивость.
Ответить с цитированием
  #4 (permalink)  
Старый 13.12.2019, 10:32
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,210

Adrikks, метод trim() удаляет пробелы с обоих сторон...
https://puzzleweb.ru/javascript/string_trim.php
Ты просил только с конца...
Ответить с цитированием
  #5 (permalink)  
Старый 13.12.2019, 13:51
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

Adrikks,
поиск и подсветка слов в тексте
Ответить с цитированием
  #6 (permalink)  
Старый 13.12.2019, 19:19
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от ksa
метод trim() удаляет пробелы с обеих сторон...
Сообщение от ksa
просил только с конца...
Ещё есть trimEnd (и не стандартный trimRight в некоторых браузерах и в MS Edge)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как назвать функцию? mrtarantul Оффтопик 12 10.08.2013 16:26
Как через динамическую втавку в страницу автоматически вызвать функцию javascript? Roberts AJAX и COMET 2 19.03.2013 12:32
Как вызвать функцию из другого файла Mukhtar AJAX и COMET 4 07.10.2011 22:01
как от элемента отвязать функцию syegorius jQuery 1 10.04.2011 22:05
Как заставить работать оперу и мозилу? SDone AJAX и COMET 6 25.02.2009 16:05