从字符串中删除字符串,其中字符串的一部分可以是javascript中的数字

时间:2017-12-07 19:39:47

标签: javascript jquery string

我想从另一个字符串中删除部分字符串,其中我要删除的部分中包含一个数字。

字符串是我的网址,我要删除的部分是页面和页码 离。

var url = www.mysite.com/?someparam=someparam&someparam=somparam&page=3

我想删除

&page=3

但页面可以是1,2,3,4等

我知道我可以通过字符串替换

来做到这一点
var str = "mystring&page=1";
var res = str.replace("&page=1", "");

但这仅适用于静态数字,例如1,我希望它可以使用任何数字

1 个答案:

答案 0 :(得分:4)

使用带\d+的正则表达式匹配任意数量的一个或多个数字:

function removePage(url) {
  return url.replace(/([?&])page=\d+(&?)/, function(p1, p2, p3) {
    return p2 === '?' ? '?' : p3;
  });
}

console.log(removePage('www.mysite.com/?someparam=someparam&someparam=somparam&page=6'));

console.log(removePage('www.mysite.com/?someparam=someparam&someparam=somparam&page=3&cats'));

console.log(removePage('www.mysite.com/?page=59&someparam=someparam&someparam=somparam'));