Вы можете использовать синтаксис регулярного выражения:
var programProductRegex = /[\s\/\)\(\w&-]/;
Вы используете косую черту для разделения шаблона регулярного выражения.
Если вы используете конструктор объекта RegExp, вам нужно передать строку,Поскольку обратные слэши - это специальные escape-символы внутри строк JavaScript, и они также являются escape-символами в регулярных выражениях, вам нужно использовать две обратные косые черты для экранирования регулярных выражений внутри строки.Эквивалентный код, использующий строку, будет:
var programProductRegex = new RegExp("[\\s\\/\\)\\(\\w&-]");
Все обратные слеши, которые были в исходном регулярном выражении, должны быть экранированы в строке, чтобы правильно интерпретироваться как обратные слэши.
OfКонечно первый вариант лучше.Конструктор полезен, когда вы откуда-то получаете строку и хотите сделать из нее регулярное выражение.
var programProductRegex = new RegExp(userInput);