我有一個像/admin/editblogentry?page=3&color=blue
JavaScript正則表達式URL改變
一個URL我要改變的「頁」的網址爲1,這樣的網址將成爲
/admin/editblogentry?page=1&color=blue
什麼是完成最好的辦法這使用JavaScript?
我有一個像/admin/editblogentry?page=3&color=blue
JavaScript正則表達式URL改變
一個URL我要改變的「頁」的網址爲1,這樣的網址將成爲
/admin/editblogentry?page=1&color=blue
什麼是完成最好的辦法這使用JavaScript?
var s="/admin/editblogentry?page=3&color=blue"
var re=/(.*page=)(\d+)(&.*)*/
s.replace(re,"$11$3")
location.href=location.href.replace(/page=3/,'page=1')
假設URL只包含一個數字(即頁碼),這是最簡單的正則表達式:
"/admin/editblogentry?page=3&color=blue".replace(/\d+/, 10001)
另一種方式來做到這一點。
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);
}