如何使用javascript从url获取查询和哈希
How to get query and hash from url using javascript?
我有一个url http://local.evibe-dash.in/tickets/123?ref=avl-error#10610
我想把ref=avl-error
和10610
化成两个变量
var1 = 'avl-error';
var2 = 10610;
如何在javascript或jQuery中获得
使用regex在.match()
你可以找到你想要的字符串的一部分。
var url = "http://local.evibe-dash.in/tickets/123?ref=avl-error#10610";
var query = url.match(/ref=([^#]+)/)[1];
var hash = url.match(/#([^#]+)/)[1];
console.log(query, hash);
这个问题在Stack上被问过很多次了。
看看这些帖子:
如何在JavaScript中获得查询字符串值?
用JavaScript解析查询字符串
基本上你必须:
- 读取查询字符串:"?"
- 将带"&"字符的字符串拆分为数组
- 用"="分割所有数组元素
- 用decodeuriccomponent解码值
请在询问前使用stack。给上面链接的人一些声誉。
试试这个函数,你得到一个数组,查询字符串键,它的值和哈希后的字符串
var getUrlParameter = function getUrlParameter(sParam) {
var sPageURL = decodeURIComponent(window.location.search.substring(1)),
sURLVariables = sPageURL.split('&'),
sParameterName,
i;
for (i = 0; i < sURLVariables.length; i++) {
sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] === sParam) {
sParameterName[1] === undefined ? true : sParameterName[1];
}
if(window.location.href.indexOf("#") > -1) {
var url = window.location.href;
sParameterName[2] = url.match(/#([^#]+)/)[1];
}
}
return sParameterName;
};
var a = getUrlParameter('your-query-string-key');
console.log(a);
相关文章:
- 根据选项卡内部的文本链接中的哈希ID动态选择jqueryUI选项卡
- Steam Web API:I'我不知道该如何处理这个看起来像哈希的url来生成图像
- AngularJS:获取链接中没有哈希的查询字符串值
- 如何在Google chrome安全首选项文件中创建扩展安全哈希代码
- 如何在浏览器重新加载时保存位置哈希状态
- jQuery scrollTop-哈希错误
- 动态添加哈希标记;t工作
- 在Javascript中实现对哈希值的暴力攻击
- 如何在JavaScript/Node中计算SHA256哈希和Base64字符串编码
- 使用Javascript/jQuery以编程方式将当前锚点/哈希/片段附加到任何表单操作url
- jQuery将查询参数附加到当前哈希中,忽略重复项
- 将查询字符串放在 angularjs 应用程序中的哈希之后
- 基于哈希或查询字符串加载动态内容
- 已解决查询(关于哈希表)中的解决方案给了我 NaN
- Angular UI路由器将查询字符串放在哈希之前
- 如何使用javascript从url获取查询和哈希
- 如何正确地添加搜索查询参数,以url包含哈希在javascript
- Regex-获取不带哈希的查询字符串
- Angular js - 当 url 具有 # 哈希时获取 url 查询参数
- 查询dynamoDB的关键条件'GE'在哈希键上