javascript正则表达式替换不起作用?

时间:2011-09-29 12:23:45

标签: javascript regex

为什么这个正则表达式替换不起作用?

var url = 'http://myweb.com/page/1/id/2'; 

newUrl = url.replace('/page\/[0-9]+/', 'page/2'); //it must become http://myweb.com/page/2/id/2

3 个答案:

答案 0 :(得分:6)

你需要做两件事

  1. str.replace更改为url.replace

  2. 删除正则表达式周围的'

    var url = 'http://myweb.com/page/1/id/2'; 
    
    newUrl = url.replace(/page\/[0-9]+/, 'page/2'); 
    
  3. 示例: http://jsfiddle.net/fhqXn/

答案 1 :(得分:3)

如果要替换url变量中存储的字符串中的内容,请使用str而不是url

答案 2 :(得分:1)

你有一个命名拼写错误。 将您的url var重命名为str或将str.replace更改为url.replace

newUrl = url.replace('/page\/[0-9]+/', 'page/2');