一段键值对字符串:
str="1=100&2=22&3=77&5=93&6=321&7=0&"如何根据键,替换其对应的值:
function replacebyid(id,value){...}如:replacebyid(1,909)则str="1=909&2=22&3=77&5=93&6=321&7=0&"如:replacebyid(2,88)则str="1=100&2=88&3=77&5=93&6=321&7=0&"
str="1=100&2=22&3=77&5=93&6=321&7=0&"如何根据键,替换其对应的值:
function replacebyid(id,value){...}如:replacebyid(1,909)则str="1=909&2=22&3=77&5=93&6=321&7=0&"如:replacebyid(2,88)则str="1=100&2=88&3=77&5=93&6=321&7=0&"
function replacebyid(str, id, value)
{
var reg = new RegExp("\\b" + id + "=\\d+");
str = str.replace(reg, id + "=" + value);
return str;
}
var test = "1=100&2=22&3=77&5=93&6=321&7=0&";
document.write(replacebyid(test, 1, 909) + "<br />");
document.write(replacebyid(test, 2, 88) + "<br />");
</script>
/*---------输出---------
1=909&2=22&3=77&5=93&6=321&7=0&
1=100&2=88&3=77&5=93&6=321&7=0&
*/
function replacebyid(id,value){
var re = new RegExp("(^|&)" + id + "=(\\S+?)(&|$)","g");
var n = re.exec(str);
if(n) str = str.replace(n[0], n[1] + id + "=" + value + n[3])
return str;
}var str="1=123&2=22&3=77&5=93&6=321&7=0&"
alert(replacebyid(1,909))
var str="1=123&2=22&3=77&5=93&6=321&7=0&"
alert(replacebyid(2,88))
alert(replacebyid(2,88));
var str="1=100&2=22&3=77&5=93&6=321&7=0&";
function replacebyid(id,value){
var reg=new RegExp("^(.*?"+id+"[=])([^&]+)(.*)$");
reg.exec(str);
return RegExp.$1+value+RegExp.$3;
}
return str.replace(/(\d+)=\d+/g,
function() {
return arguments[1] == id ? id + '=' + value : arguments[0];
}
);
}
var test = "1=100&2=22&3=77&5=93&6=321&7=0&";
document.write(replacebyid(test, 1, 909) + "<br />");
document.write(replacebyid(test, 2, 88) + "<br />");