Javascript 用变量中的特定数字替换任何数字

Javascript 用变量中的特定数字替换任何数字,javascript,jquery,Javascript,Jquery,我有这样的链接foo.net/index.php?page=15 我需要替换page=xxx之后的任何数字,并从变量中获取新的数字 这是我当前的代码,将15替换为16 var num = 16, // What if the str = foo.net/index.php?page=10 str = 'foo.net/index.php?page=15', n = str.replace('15',num); $('span').html(n); 您可以在中检查代码。如果要

我有这样的链接foo.net/index.php?page=15

我需要替换page=xxx之后的任何数字,并从变量中获取新的数字

这是我当前的代码,将15替换为16

var num = 16,

// What if the str = foo.net/index.php?page=10
    str = 'foo.net/index.php?page=15',
    n = str.replace('15',num);

$('span').html(n);

您可以在

中检查代码。如果要选择并替换字符串中的数字,可以使用正则表达式:

// Replacing macting number with the specified value
var n = str.replace(/\d+/, num);
如果要对匹配值进行加/减/除/乘,还可以使用
.replace()
方法的回调函数:

var n = str.replace(/\d+/, function(number) {
   return number + 1;
});

.

var n=str.replace(/\d+/,num)?有点脏的解决方案可能是
n=str.split('page=')[0]+'page='+num,但它可以工作。是否要用一个更大的数字替换现有数字?那么15到16,92到93?@Jim,这是正则表达式-你太好了,重点不是信誉点:),谢谢。如果页面链接有像foo.net/index2.php这样的数字怎么办?page=15,有没有办法在=@Jim是的,你可以将
=
添加到正则表达式中,
str.replace(/=\d+/,'=n')