Динамическое значение в Regexp.replace с использованием JavaScript - PullRequest
1 голос
/ 04 декабря 2009

Я не знаю, где моя голова сегодня, может кто-нибудь объяснить мне - почему я могу получить значение hturl в форме запроса и выполнить замену в htstring? (Я делаю это, и это работает - но заменяет только одно вхождение значения (hturl) .... Проблема в том, что есть еще около 10 вхождений старого значения, которые я хочу заменить:

Я использую Regex в сочетании с asp и javascript

<% 
htreplace = ""+Request.Form("1")+"";
hturl = Request.Form("thesite");
htstring = htreplace
htstring = htstring.replace(/,;~~~~/ig,';');
htstring = htstring.replace(hturl,'http://www.example.net');
%>

Если я изменю

htstring = htstring.replace(hturl,'http://www.example.net');

до

htstring = htstring.replace(/hturl/ig,'http://www.example.net');

или

htstring = htstring.replace("/"+hturl+"/"+ig,'http://www.example.net');

Я больше не могу получить значение hturl динамически?

Кто-нибудь, кто может помочь, пожалуйста, сделайте! - Я не знаю, где моя голова / логика сегодня! Спасибо

1 Ответ

4 голосов
/ 04 декабря 2009
var myregexp = new RegExp(hturl, "ig");

htstring = htstring.replace(myregexp, 'blah');
...