Bond,
используйте полную форму записи RegExp а не литеральную
function valid(a){
alert(a);
var vall = 'тест-тест'; //Снимаем значение поля
var rezult = (a).test(vall); //Сравниваем с регуляркой
alert(rezult);
var vall = 'тест-test'; //Снимаем значение поля
var rezult = (a).test(vall); //Сравниваем с регуляркой
alert(rezult);
}
valid(new RegExp("^\[а-я\\-\]\+\$","ig") ); //Вызываем функцию