Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Функция замены replace не работает как надо (https://javascript.ru/forum/css-html/68031-funkciya-zameny-replace-ne-rabotaet-kak-nado.html)

skillful 21.03.2017 19:36

Функция замены replace не работает как надо
 
Здравствуйте.
var urlvalue = "modules/content/index.php?act=category&id=$1";
urlvalue = urlvalue.replace(new RegExp("modules",'g'),"abx");
alert("OK: " + urlvalue);

var url = "modules/content/index.php?act=category&id=$1";
url = url.replace(new RegExp("$1",'g'),"abx");
alert("NO: " + url );

Собственно почему второй вариант не работает ($1 не происходит замена). И как победить? Спасибо!!!

рони 21.03.2017 19:39

skillful,
var url = "modules/content/index.php?act=category&id=$1";
url = url.replace(new RegExp("\\$1",'g'),"abx");
alert("NO: " + url );

ksa 22.03.2017 09:03

Цитата:

Сообщение от skillful
$1 не происходит замена

Это ($) спецсимвол в регулярном выражении... ;)
Цитата:

$
Обозначает конец входных данных. Если установлен флаг многострочного поиска, то также сработает в конце строки.Например, /t$/ не найдет 't' в "eater", но найдет - в "eat".
http://javascript.ru/RegExp

Т.е. в твоем варианте ты не $1 ищешь, а некую белиберду, типа "найди единичку, стоящую после конца строки". :D
Такое конечно не находится и замены нет.


Часовой пояс GMT +3, время: 12:14.