Javascript.RU

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

Как можно вытащить цифры после определенного текста?
Всем привет, может кто знает как реализовать.

Задача:
Есть выкидное меню в нём список с фамилиями, он постоянно меняется так же как и число в скобках напротив каждой фамилии. Первое если есть данная фамилия в списке, то переменной нужно присвоить значение в скобках, если нет этой фамилии в списке то переменной присвоить значение 0.

P.S. Текст поиска уникален на странице.
iMacros for Firefox 8.9.7. FF 56.0.2
.......
<ul class="select2-r">

<li class="select2-rs">
<div class="select2-rl">
<span class="select2-m"></span>
All
</div>
</li>

<li class="select2-rs">
<div class="select2-rl">
<span class="select2-m"></span>
Иванов (43)
</div>
</li>

<li class="select2-rs">
<div class="select2-rl">
<span class="select2-m"></span>
Зайков (18)
</div>
</li>

<li class="select2-rs">
<div class="select2-rl">
<span class="select2-m"></span>
Петров (11)
</div>
</li>

<li class="select2-rs">
<div class="select2-rl">
<span class="select2-m"></span>
Сидоров (24)
</div>
</li>

........

</ul>
.......
Ответить с цитированием
  #2 (permalink)  
Старый 06.11.2019, 23:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

поиск regexp именованные группы и деструктуризация
Defs,

<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>


</head>

<body>
<ul class="select2-r">

<li class="select2-rs">
<div class="select2-rl">
<span class="select2-m"></span>
All
</div>
</li>

<li class="select2-rs">
<div class="select2-rl">
<span class="select2-m"></span>
Иванов (43)
</div>
</li>

<li class="select2-rs">
<div class="select2-rl">
<span class="select2-m"></span>
Зайков (18)
</div>
</li>

<li class="select2-rs">
<div class="select2-rl">
<span class="select2-m"></span>
Петров (11)
</div>
</li>

<li class="select2-rs">
<div class="select2-rl">
<span class="select2-m"></span>
Сидоров (24)
</div>
</li>

........

</ul>
  <script>
    const divs = [...document.querySelectorAll(".select2-rl")];
    const reg = /(?<name>[а-яё]+)\s+\((?<number>\d+)\)/i;
    const obj = divs.reduce((ob, div) => {
    const groups =  div.textContent.match(reg);
    if(groups) {
    const {name, number} = groups.groups;
    ob[name] = number;
    }
    return ob
    }, {})
    alert(obj.Сидоров)
  </script>
</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 06.11.2019, 23:55
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Defs,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохранение данных после закрытия страницы HekracoB AJAX и COMET 12 02.01.2015 12:41
Как запретить отмену выделения текста от клика мышью? Маэстро Internet Explorer 0 03.04.2012 21:21
Dreamweaver CS5.5 и ООП. Не выводит подсказки методов. Как можно исправить? jsuse Общие вопросы Javascript 3 23.03.2012 19:57
как сделать, что бы див оставался на месте после перехода на следующую страницу? OklickSpb Общие вопросы Javascript 4 15.03.2012 22:02
Как вызвать событие после события определенного в onchange Наталья Events/DOM/Window 2 12.09.2009 13:51