var replaceParamVal = function(orgUrl,obj){
var reg;
$.each(obj,function(paramName,replaceWith){
reg = new RegExp('('+ paramName +'=)([^&]*)','gi'),
has = orgUrl.indexOf(paramName);
if(has<=0){ // 不存在改參數(shù)
var hasQuestion = orgUrl.indexOf("?");
if(hasQuestion>0){
orgUrl = orgUrl+"&" +(paramName +'=' +replaceWith);
}else{
orgUrl = orgUrl+"?" +(paramName +'=' +replaceWith);
}
}else{
// 存在該參數(shù)
orgUrl = orgUrl.replace(reg,paramName+'='+replaceWith);
}
})
return orgUrl;
};
追加參數(shù).png
替換參數(shù).png
若是沒(méi)有引入jquery/zepto躯泰,就會(huì)提示沒(méi)有$.each()這個(gè)函數(shù),可改成for ... in 华糖,效果是一樣的麦向。
var replaceParamVal = function(orgUrl,obj){
var reg;
for(var paramName in obj ){
var replaceWith = obj[paramName]
reg = new RegExp('('+ paramName +'=)([^&]*)','gi'),
has = orgUrl.indexOf(paramName);
if(has<=0){ // 不存在改參數(shù)
var hasQuestion = orgUrl.indexOf("?");
if(hasQuestion>0){
orgUrl = orgUrl+"&" +(paramName +'=' +replaceWith);
}else{
orgUrl = orgUrl+"?" +(paramName +'=' +replaceWith);
}
}else{
// 存在該參數(shù)
orgUrl = orgUrl.replace(reg,paramName+'='+replaceWith);
}
}
return orgUrl;
}