2010-03-02 3 views

ответ

1
var s="/admin/editblogentry?page=3&color=blue" 
var re=/(.*page=)(\d+)(&.*)*/ 
s.replace(re,"$11$3") 
0
location.href=location.href.replace(/page=3/,'page=1') 
1

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

"/admin/editblogentry?page=3&color=blue".replace(/\d+/, 10001) 
1

Другой способ сделать это.

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); 
} 
Смежные вопросы