var ret="key1=val1 ;key2=val2 ;......"; var arr=ret.split(" ;"); for(var i=0;i<arr.length;i++){ arr[i]=arr[i].replace("key"+(i+1)+"=",""); }
var ret="key1='val1';key2='val2';key3='val3'"; ret=ret.replace(/[=]/ig,":"); ret=ret.replace(/[;]/ig,","); ret ="{"+ret+"}" ret=eval("("+ret+")"); var k=null; for (key in ret) { //alert(key+"//"+ret[key]); alert(ret[key]); }
没看到Lz回的这句,我前面是讲废话了var ret="key1=val1;key2=val2;key3=val3;key123=val123"; ret=ret.replace(/key(\d+)=/g,''); var arr=ret.split(";"); alert(ret); alert(arr);如果Lz的格式中[key1]这里面的'key'是固定的话,可以使用上面的方法替换掉所有的key~=
不过最好的方法是从源头改成方便JS处理的格式,既然不需要key1那些,还干嘛返回到前端添乱呢。
var arr=ret.split(" ;");
for(var i=0;i<arr.length;i++){
arr[i]=arr[i].replace("key"+(i+1)+"=","");
}
var ret="key1='val1';key2='val2';key3='val3'";
ret=ret.replace(/[=]/ig,":");
ret=ret.replace(/[;]/ig,",");
ret ="{"+ret+"}"
ret=eval("("+ret+")");
var k=null;
for (key in ret) {
//alert(key+"//"+ret[key]);
alert(ret[key]);
}
ret=ret.replace(/key(\d+)=/g,'');
var arr=ret.split(";");
alert(ret);
alert(arr);如果Lz的格式中[key1]这里面的'key'是固定的话,可以使用上面的方法替换掉所有的key~=