Изменение URL регулярного выражения Javascript - PullRequest
3 голосов
/ 02 марта 2010

У меня есть URL как /admin/editblogentry?page=3&color=blue

Я хочу изменить «страницу» в URL на 1, чтобы URL стал

/admin/editblogentry?page=1&color=blue

Каков наилучший способ сделать это с помощью JavaScript?

Ответы [ 4 ]

1 голос
/ 02 марта 2010

Еще один способ сделать это.

function changePage (url, newPage) {
  var rgx=/([?&]page=)\d+/;
  var retval = url.replace(rgx, "$1" + newPage);
  return retval;
}

var testUrls = [
  "name?page=123&sumstuff=123",
  "/admin/editblogentry?page=3&color=blue",
  "name?foo=bar123&page=123"
];

for (var i=0; i<testUrls.length; i++) {
  var converted = changePage(testUrls[i], i);
  alert(testUrls[i] + "\n" + converted);
}
1 голос
/ 02 марта 2010
var s="/admin/editblogentry?page=3&color=blue"
var re=/(.*page=)(\d+)(&.*)*/
s.replace(re,"$11$3")
1 голос
/ 02 марта 2010

Предполагая, что URL содержит только одно число (т.е. номера страниц), это простейшее регулярное выражение:

"/admin/editblogentry?page=3&color=blue".replace(/\d+/, 10001)
0 голосов
/ 02 марта 2010
location.href=location.href.replace(/page=3/,'page=1')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...