Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.07.2015, 19:33
Аспирант
Отправить личное сообщение для A1x1On2015 Посмотреть профиль Найти все сообщения от A1x1On2015
 
Регистрация: 24.02.2015
Сообщений: 37

Как получить значения всех групп (цикл)
Здравствуйте,

у меня есть строка :
str = "sdfdsfdsfd, sdfdsggggg-gggg, ssssssss";
Мне необходимо получить в массив каждое совпадение из строки str

На C# у меня есть рабочая аналогия:
Код C#Выделить код


Код:
  foreach (Match t in Regex.Matches(str, @"([\b\w\-\w\b]+)"))
            {
                Debug.WriteLine("Уже есть: " + t.Value);
}
не пойму как сделать так же в js:
пытался так


str = "sdfdsfdsfd, sdfdsggggg-gggg, ssssssss";
re = /([\b\w\-\w\b]+)/i;
str.match(re).forEach(function (item, i) {
                    console.log(" -- Совпадение: " + item);
                    i++;
                });

Помогите плиз
Ответить с цитированием
  #2 (permalink)  
Старый 28.07.2015, 19:37
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

A1x1On2015, модификатор g нужен.

/([\b\w\-\w\b]+)/ig

А по хорошему:

var result;
while(result = re.exec(str)) {
     console.log(result);
}
Ответить с цитированием
  #3 (permalink)  
Старый 28.07.2015, 19:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

A1x1On2015,

<script>
str = "sdfdsfdsfd, sdfdsggggg-gggg, ssssssss";
re = /[\w-]+/gi;
str.match(re).forEach(function (item, i) {
                    document.write("<br> -- Совпадение: " + item);
                });

</script>

Последний раз редактировалось рони, 28.07.2015 в 19:45.
Ответить с цитированием
  #4 (permalink)  
Старый 29.07.2015, 10:37
Аспирант
Отправить личное сообщение для A1x1On2015 Посмотреть профиль Найти все сообщения от A1x1On2015
 
Регистрация: 24.02.2015
Сообщений: 37

Да в отдельности строка str = "sdfdsfdsfd, sdfdsggggg-gggg, ssssssss";
проверяется но на моей реально задаче иначе.
В str по клику динамически присваиваются разные значения в переменной все ок, а match ругается
$(".t-item").live("click", function () {
        var re = /[\w-]+/gi;
        var str = $(".HIDDDENTAGS").val(); // sdfdsfdsfd, sdfdsggggg-gggg, ssssssss

        console.log("СТРОКА: " + str); // выводит значение str 
        // Но для match str не известна
        // Uncaught TypeError: Cannot read property 'forEach' of null
        //(anonymous function) 
        //jQuery.event.dispatch @ jquery-1.8.2.js:3077
        //jQuery.event.add.elemData.handle.eventHandle
        str.match(re).forEach(function (item, i) {
            console.log("-- Совпадение: " + item);
        });


    });
Ответить с цитированием
  #5 (permalink)  
Старый 29.07.2015, 12:56
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

A1x1On2015,
делайте макет и обновите у себя jquery
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
     $(function(){
        $(".t-item").on("click", function () {
        var re = /[\w-]+/gi;
        var str = $(".HIDDDENTAGS").val();
        var html="";
        str = str.match(re)||[];
             str.forEach(function (item, i) {
            html+= "-- Совпадение: " + item + "<br>";
        });
       $("p").html(html||"нет в данных английских букв или -")

    });
});


  </script>
</head>

<body>
        <input class="HIDDDENTAGS" name="">
        <input class="t-item" name="" type="button" value="get">
        <p></p>
<script>


</script>
</body>

</html>
Ответить с цитированием
  #6 (permalink)  
Старый 30.07.2015, 15:40
Аспирант
Отправить личное сообщение для A1x1On2015 Посмотреть профиль Найти все сообщения от A1x1On2015
 
Регистрация: 24.02.2015
Сообщений: 37

Спасибо всем, то что нужно
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
initComponent: Как получить данные родителя и как получить store для вызова load()? Пролетарий ExtJS 76 04.07.2015 09:22
Как получить значения формы Grindelvald Общие вопросы Javascript 7 23.03.2015 02:33
Как получить значения всех выбранных элементов? makarow.dmitry Элементы интерфейса 2 24.10.2014 14:04
Как получить высоту DIV, установленную автоматически YOricH Internet Explorer 4 22.07.2009 17:15
Как получить список всех установленных плагинов VitAngel Internet Explorer 0 15.07.2009 09:13