Javascript Regex出现后的第一个字符

时间:2015-02-25 12:43:09

标签: javascript regex

我有一个包含此网址的寻呼机:news?page=1&f[0]=domain_access%3A3".

我需要正则表达式将page=1替换为page=2

1和2是可变的,所以我需要找到page= +之后的第一个字符。

我该怎么做

@EDIT:

从答案中,我提炼了

 var url = $('ul.pager .pager-next a').attr("href");
 var re = /page=(\d+)/i;
 var page = url.match(re);
 var splitPage = page[0].split("=");
 var pageNumber = parseInt(splitPage[1]);
 pageNumber += 1;
 var nextPagePart = 'page=' + pageNumber;
 var nextPageUrl = url.replace(re, nextPagePart);
 $('ul.pager .pager-next a').attr("href", nextPageUrl);

可能有一个较短的方法?

2 个答案:

答案 0 :(得分:2)

像这样:

var url = 'news?page=1&f[0]=domain_access%3A3"';
var page = 2;
url = url.replace(/page=\d+/, 'page=' + page);

修改

要实现编辑中的功能:

var obj = $('ul.pager .pager-next a');
var url = obj.attr('href');
url = url.replace(/page=\d+/, 'page=' + (++url.match(/page=(\d+)/)[1]));
obj.attr('href', url);

答案 1 :(得分:0)

如果您只想更换页码而剩下的就可以尝试这样的事情:
s/\(.*\)page=\d{1,}\(.*\)/\1number_to_replace\2/