找到任何未定义的变量并隐藏url字符串

时间:2013-11-27 10:33:19

标签: javascript jquery

我目前正在从表单输入构建一个URL字符串,看起来与此类似:

api/search/127879/11-28-2013/7/2/undefined/undefined/undefined/LGW/null

如何找到===未定义的任何或所有变量,然后从上面的字符串中删除?

2 个答案:

答案 0 :(得分:0)

如果您不想更改构建网址的逻辑而不仅仅是使用javascript的替换功能

var str = "api/search/127879/11-28-2013/7/2/undefined/undefined/undefined/LGW/null"; 
var res = str.replace(/undefined\//gi,"");

答案 1 :(得分:0)

如果您自己生成字符串,请在将其附加到urlString之前进行检查。

如果从服务器获取字符串,请执行以下操作:

var finalUrl = "";
var urlStr= "api/search/127879/11-28-2013/7/2/undefined/undefined/undefined/LGW/null";
var urlArray = urlStr.split('/');
for (i = 0, i = urlArray.length; i ++) {
    if(urlArray[i] === undefined)
    {
        //do nothing
    }
    else
    {
        finalUrl += urlArray[i];
    }
}

希望这有帮助。