使用javascript替换动态字符串值

使用javascript替换动态字符串值,javascript,string,dynamic,replace,Javascript,String,Dynamic,Replace,问题是:如何替换字符串中可能变化的值? 我猜你需要使用正则表达式 以下是我要做的: var height = 500; var urlstr = "...?height=300&width=200"; var newurl = urlstr.replace("height=%&","height="+height+"&"); alert(newurl); 请注意,我目前正试图使用“%”符号来解释动态值,但这不起作用。。我不擅长使用正则表达式,如果你

问题是:如何替换字符串中可能变化的值? 我猜你需要使用正则表达式

以下是我要做的:

  var height = 500;

  var urlstr = "...?height=300&width=200";

  var newurl = urlstr.replace("height=%&","height="+height+"&");

  alert(newurl);

请注意,我目前正试图使用“%”符号来解释动态值,但这不起作用。。我不擅长使用正则表达式,如果你们中的任何人能给我一个提示,或者告诉我我是否处理错误,我将不胜感激;)

是的,你需要正则表达式。幸运的是,这并不复杂:

var height = 500;
var urlstr = "...?height=300&width=200";
var newurl = urlstr.replace(/(height=)([0-9]+)/, '$1' + height);

alert(newurl);
“%”将被URL编码为“%25”。
对于您的ref,

javascript encodeURIComponent

谢谢,它工作得很好,如果您不介意我问一下,这一点对$1有什么作用?我对那部分有点困惑。。PS搅拌机规则:)
$1
指第一个匹配的组,即
高度=
。我很懒,不想写出
height=
,所以我将它与
$1
匹配<代码>$2保存旧高度的内容,以防万一。是的,搅拌机规则;)太棒了。