Да в отдельности строка 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);
        });
    });