如何存储URL并分隔每个单词

时间:2017-02-20 15:09:53

标签: javascript jquery

您好我知道如何使用以下JavaScript存储网址参数,但有没有办法在斜线后存储每个字。

示例:我有以下网址: http://localhost:9000/Database/Users/username/passwordReset?key=123214asdas2321

我们要说我想存储用户名'从上面的URL,任何帮助将不胜感激。 谢谢。

JavaScript的:

window.onload = function () {
                var url = document.location.href,
                    params = url.split('?')[1].split('&'),
                    data = {}, tmp;
                for (var i = 0, l = params.length; i < l; i++) {
                     tmp = params[i].split('=');
                     data[tmp[0]] = tmp[1];
                }
                var wordKey = data.key;
            }

4 个答案:

答案 0 :(得分:1)

你需要浏览一下浏览器对象“window.location”,通过拆分你可以找到想要的东西。

https://developer.mozilla.org/fr/docs/Web/API/window/location

答案 1 :(得分:1)

尝试使用regexp?

这就是你想要的吗?

var url = 'http://localhost:9000/Database/Users/randomusername/passwordReset?key=123214asdas2321',
regexp = /\/Users\/([^/]+)/,
result = url.match(regexp);

console.log(result[1]);

答案 2 :(得分:1)

&#13;
&#13;
function getUsername(url) {
  var split = url.split("/");
  for (var i = 1; i < split.length; i++) {
    if (split[i - 1] === "Users") return split[i];
  }
}
&#13;
Enter url:<br>
<input type="text" style="width: 500px"
    onkeyup="console.log(getUsername(this.value));"/>
&#13;
&#13;
&#13;

答案 3 :(得分:1)

逻辑类似。而不是使用带有'?'的split()或'&amp;',您可以使用'/'。你可以尝试这样的事情:

function getUrlArray(url){
    var idx = str.indexOf('?');
        if (idx > 0) {
            str = str.substring(0,idx);
        }
    var strArray = str.split('/');
    return strArray;
}

使用上面的代码,您将获得url层次结构参数的数组。请记住,位置0始终是主要地址(即www.anything.com ),因此您可能需要在搜索某些内容时从位置1开始。