Javascript网址重写器

时间:2012-09-01 09:41:28

标签: javascript regex url-rewriting

我想在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

1 个答案:

答案 0 :(得分:4)

尝试:

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

创建backreference以在替换中使用[0-9]部分非常重要。此外,您可能希望使用+代替*来填写所需的号码。