如何使用javascript从url获取查询和哈希?

如何使用javascript从url获取查询和哈希?,javascript,jquery,string,url,Javascript,Jquery,String,Url,我有一个urlhttp://local.evibe-dash.in/tickets/123?ref=avl-错误#10610 我想得到两个变量中的ref=avl error和10610 比如像这样的事情 var1 = 'avl-error'; var2 = 10610; 如何在javascript或jQuery中获取它,这在堆栈上被多次询问和回答 看看这些帖子: 基本上,你必须: 读取查询字符串:全部在“”之后 将带有“&”字符的字符串拆分为数组 使用“=”拆分所有数组元素 使用decod

我有一个url
http://local.evibe-dash.in/tickets/123?ref=avl-错误#10610

我想得到两个变量中的
ref=avl error
10610

比如像这样的事情

var1 = 'avl-error';
var2 = 10610;

如何在javascript或jQuery中获取它,这在堆栈上被多次询问和回答

看看这些帖子:

基本上,你必须:

  • 读取查询字符串:全部在“”之后
  • 将带有“&”字符的字符串拆分为数组
  • 使用“=”拆分所有数组元素
  • 使用decodeURIComponent对值进行解码
  • 请在询问前使用堆栈。并在上面的链接上给人们一些声誉。

    在中使用regex可以找到您想要的字符串的一部分

    var url=”http://local.evibe-dash.in/tickets/123?ref=avl-错误#10610”;
    var query=url.match(/ref=([^#]+)/)[1];
    var hash=url.match(/#([^#]+)/)[1];
    
    日志(查询、哈希)试试这个函数,你会得到一个带有查询字符串键的数组,它的值和散列后的字符串

    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);
    
    var getUrlParameter=函数getUrlParameter(sParam){
    var sPageURL=decodeURIComponent(window.location.search.substring(1)),
    sURLVariables=sPageURL.split(“&”),
    sParameterName,
    我
    对于(i=0;i
    您是否尝试过自己解决这个问题?显示您的代码。var t=“”;arr=t.split(“=”);res=arr[1]。拆分(“#”);警报(res[0]+“”+res[1]);我不知道怎么解决,所以我问@mdziekon。我在这里不是在开玩笑,写解决方案代码比写解决方案步骤和重复问题更容易。我想要“ref=avl error”,而不仅仅是查询的avl error。我怎样才能得到它。@Vikash使用
    var query=url.match(/ref=[^#]+/)[0]
    来代替它。谢谢@Mohammad。解决了的。你能给我推荐一些好的正则表达式教程吗?我的问题已经解决了,但我不完全理解代码。@Vikash网上有很多教程和答案,你可以通过搜索找到它们。不过,您可以在工具中测试任何正则表达式代码。谢谢@mohammad。我真的很感谢你的帮助:)