Javascript 对象的Url查询字符串

Javascript 对象的Url查询字符串,javascript,regex,Javascript,Regex,我有下面的函数,它将查询放入一个对象中。它可以工作,但会将url添加到对象中,而我对正则表达式的理解还不足以解决如何删除url并只包含变量的问题 function urlToObj(url) { var obj = {}; url.replace( new RegExp("([^?=&]+)(=([^&]*))?", "g"), function($0, $1, $2, $3) { obj[$1] =

我有下面的函数,它将查询放入一个对象中。它可以工作,但会将url添加到对象中,而我对正则表达式的理解还不足以解决如何删除url并只包含变量的问题

function urlToObj(url)
{
        var obj = {};
        url.replace(
            new RegExp("([^?=&]+)(=([^&]*))?", "g"),
            function($0, $1, $2, $3) { obj[$1] = $3; }
        );

        return obj;
}
例如

输出

obj { var1="1", var2="2", http://www.example.com/hello/world.php="" }
obj { var1="1", var2="2", http://www.example.com/hello/world.asp="" }
obj { var1="1", var2="2", http://www.example.com/hello/world="" }
我想它删除的网址,所以它看起来像这样

obj { var1="1", var2="2" }
任何我出错的例子和信息都会很好


谢谢

此扩展创建了一个单例查询字符串对象,用于快速可读的查询字符串修改和创建。这个插件提供了一种简单的方法,可以获取页面的查询字符串并创建一个修改版本,只需很少的代码


此扩展创建一个单例查询字符串对象,用于快速可读的查询字符串修改和创建。这个插件提供了一种简单的方法,可以获取页面的查询字符串并创建一个修改版本,只需很少的代码


来点黑客怎么样-

function urlToObj ( url ) {
    var obj = {};
    url.replace(
        new RegExp("([^?=&]+)(=([^&]*))?", "g"),
        function($0, $1, $2, $3) { obj[$1] = $3; }
    );

    // Now, you know you've got an empty string for your url
    // So let's loop through the object and remove this property
    for ( var prop in obj ) {

        // You only want the objects properties, nothing inherited
        if ( obj.hasOwnProperty( prop ) ) {

            // If it's an empty string
            if ( obj[ prop ] === '' ) {

                // Delete it!
                delete obj[ prop ]
            }
        }
    }
    return obj;
}

来点黑客怎么样-

function urlToObj ( url ) {
    var obj = {};
    url.replace(
        new RegExp("([^?=&]+)(=([^&]*))?", "g"),
        function($0, $1, $2, $3) { obj[$1] = $3; }
    );

    // Now, you know you've got an empty string for your url
    // So let's loop through the object and remove this property
    for ( var prop in obj ) {

        // You only want the objects properties, nothing inherited
        if ( obj.hasOwnProperty( prop ) ) {

            // If it's an empty string
            if ( obj[ prop ] === '' ) {

                // Delete it!
                delete obj[ prop ]
            }
        }
    }
    return obj;
}

我在弄清楚如何将url加载到插件时遇到了一点麻烦。我知道您可以使用$.query.setsection、5.setaction、do.toString;但我有一个大的查询,必须有一种方法来加载一个url,而不是添加每个变量。我错过了什么。我在弄清楚如何将url加载到插件中时遇到了一点麻烦。我知道您可以使用$.query.setsection、5.setaction、do.toString;但我有一个大的查询,必须有一种方法来加载一个url,而不是添加每个变量。我错过了什么。可能重复的可能重复的感谢黑客;但是需要在查询中使用数组的情况下使用插件。但是我想不出来,似乎你必须将每个变量添加到obj中,这对我来说似乎毫无意义;但是需要在查询中使用数组的情况下使用插件。但是我想不出来,似乎你必须将每个变量添加到obj中,这对我来说似乎毫无意义。