0

我想用javascript做一个url重写器,我的问题是,如果我做类似的事情:

var str='/test/service-34.htm',
    exp='/test/service-[0-9]*.htm';
console.log(str.match(exp));

我会得到“/test/service-34.htm”作为响应,所以如果我不能像这样进行替换:

/test/service-34.htm -> test.php?service=$1
4

1 回答 1

4

尝试:

"/test/service-34.htm".replace(
  /\/test\/service\-([0-9]+)\.htm/
, "test.php?service=$1"
);

创建反向引用[0-9]以在替换 中使用该部件非常重要。此外,您可能想要使用+而不是*制作所需的数字。

于 2012-09-01T09:48:20.927 回答