0

我正在尝试使用 Javascript/HTML 提取 url 参数。

下面是代码,如果我没有在参数之间给出任何空格,我有它并且它工作正常。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>

    </head>
    <body>
        <script>
                function getUrlVars() {
        var vars = {};
        var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
        vars[key] = value;
        });
        return vars;
        }
            var first = getUrlVars()["id"];

            alert(first);

        </script>
    </body>
</html>

但是,只要我在参数之间留出空格,我总是会在两者之间得到 %20 。如何跳过空格。

假设如果下面是 url-

/test.html?id=123 456

然后在警报框中,我总是看到-

123%20456

如何使用代码中的上述正则表达式避免空格。

4

1 回答 1

2

如果您不希望出现 URL 编码 (%20),可以使用该unescape()功能。

var first = unescape(first);

我建议使用更好的变量名称,但只要在遇到 %20 出现问题时使用它,它就会将其转换为纯空格

于 2013-07-10T19:29:30.763 回答