使用javascript删除url字符串的特定部分

时间:2016-06-30 14:55:47

标签: javascript

在以下字符串中,

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);

2 个答案:

答案 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('&');
});