Добился пока что таких успехов:
var url='http://example.com/model/catalog?pid=807&id=123&on=87';
var id = 999;
url.replace(/&id=(\d+)/, '&id='+id);
/*
httр://example.com/model/catalog?pid=807&id=999&on=87
*/
но, сами понимаете что вместо & может быть ? (или не может быть, если его выкинуть из location.search) если id будет на первом месте, а если без & и без ?, то, если pid= встретится первым - он и будет заменен.
Задача такая что или надо добавлять несусветное количество ссылок в таблицу - это как раз очень просто в php, - или написать скриптик который будет хватать id строки и посылать браузер в новый location, в котором всяких параметров может быть дофига и все их надо сохранить, а id=n заменить.
Помогите кто понимает в регах как составить такую регу. Спасибо.