在以下字符串中,
http://blahblah.in/folder1/data?number=1&name= &customerId=123
我尝试验证网址,也就是说,如果任何querystring参数没有值,请从网址中删除该参数。
结果网址为
http://blahblah.in/folder1/data?number=1&customerId=123
我尝试使用以下代码解决上述问题,我知道某处有错误 - 你能帮我找到吗?
var url = "http://blahblah.in/folder1/data?number=1&name= &customerId=123";
var tempQuestion = url.split("?");
var temp = tempQuestion[1].split("=");
var temp2="";
var leng = temp.length;
for(i=0;i<leng;i++){
if(temp[i].charAt(0)!="&")
temp2 = temp2.concat(temp[i],"=");
else
{
temp2 = temp2.concat(temp[i],"");
var x = temp2.split("&");
temp2 = temp2.concat(x[0],"=");
}
}
var result= tempQuestion[0].concat("?",temp2);
答案 0 :(得分:3)
只需使用正则表达式,如下所示:
var url = 'http://blahblah.in/folder1/data?number=1&name=&other=&something=&customerId=123'
url = url.replace(/[a-z]*=&/g,"");
console.log(url)
// result is: http://blahblah.in/folder1/data?number=1&customerId=123
答案 1 :(得分:1)
我这样做:
url.replace(/\?.*/, function(qs) {
return qs.split('&').filter(function(parameterTuple) {
return parameterTuple.split('=')[1];
}).join('&');
});