Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 01.06.2022, 17:36
Аспирант
Посмотреть профиль Найти все сообщения от winrar2018
 
Регистрация: 12.02.2018
Сообщений: 34

Сообщение от рони Посмотреть сообщение


<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script>
  window.onload =
      function() {
          var treeWalker = document.createTreeWalker(document.body, NodeFilter.SHOW_TEXT, null, false),
              users = ["Вася", "Юра", "Маша", "Саша"],
              reg = new RegExp(users.join("|"), "ig");
          while (treeWalker.nextNode()) {
              var el = treeWalker.currentNode;
              el.data = el.data.replace(reg, "*****")
          }
      };
  </script>
</head>

<body>
Допустим есть массив слов: (ВАСЯ, ЮРА, МАША, САША)
<div>
    <a>Маша</a>
</div>
<ul>
    <li>Саша</li>
</ul>
<div>
    <a>Маша</a>
</div>
<ul>
    <li>Саша</li>
</ul>
</body>

</html>
Можно сделать так, чтобы этот скрипт срабатывал только при полном совпадении слов?

Сейчас, например, если слово "налог" нужно заменить на "123", и скрипт встречает слово "налог", то все работает нормально.
Но если попадется слово "Аналоги", то в нем произойдет частичная замена и получится "А123и", но это слово заменять не нужно...
Ответить с цитированием
  #12 (permalink)  
Старый 01.06.2022, 17:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,127

winrar2018,
reg = new RegExp(`(^|[^а-я])(${users.join("|")})([^а-я]|$)`, "ig");
Ответить с цитированием
  #13 (permalink)  
Старый 01.06.2022, 18:30
Аспирант
Посмотреть профиль Найти все сообщения от winrar2018
 
Регистрация: 12.02.2018
Сообщений: 34

рони, спасибо!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пример тестовых заданий на js junior elshaarawy Учебные материалы 3 26.03.2015 15:17
js и замена классов (или идентификаторов) Stulikov Events/DOM/Window 2 06.05.2011 20:27
контекст вокруг выделенного слова в js Тима Элементы интерфейса 1 19.01.2011 08:28
XML на сервер посредством js Hron AJAX и COMET 10 26.12.2010 01:43