您好我知道如何使用以下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;
}
答案 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)
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;
答案 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开始。