Javascript пытается использовать string.replace () с регулярным выражением для значения списка

0

Я пытаюсь задать регулярное выражение

В php я могу сделать:

'/[lg|sm|md|xs]/'

Будет соответствовать или lg, или sm, или md или xs один раз.

В javascript я не могу заставить его работать.

var href = $(this).attr('href');
var t = href.replace('[lg]|[sm]|[md]|[sx]', 'add'); //not working

var t = href.replace('[lg|sm|md|sx]', 'add'); //not working

var t = href.replace('/[lg|sm|md|sx]/', 'add'); //not working

var t = href.replace('/lg|sm|md|sx/', 'add'); //not working

Для URL-адреса:

href="/img/galeria/lg/duplo-standart/foto1.jpg"

Все, что мне нужно, это заменить на "lg" на href и изменить на "add".

Помощь приветствуется.

Теги:

1 ответ

3
Лучший ответ

Вы должны использовать нотацию или объект регулярного выражения так, чтобы

var t = href.replace(/(lg|sm|md|sx)/, 'add');

или

var t = href.replace(new RegExp('(lg|sm|md|sx)'), 'add');

то, что вы делаете, это замена строки, поэтому он будет искать точное соответствие строки, а не регулярное совпадение

  • 0
    Форсаж! Благодарю вас.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню