2016-09-27 28 views
-3

我有一個網址http://local.evibe-dash.in/tickets/123?ref=avl-error#10610如何從URL使用JavaScript獲取查詢和散列?

我想ref=avl-error10610兩個變量

爲例財產以後這樣的

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

我怎樣才能得到它的JavaScript或jQuery的

+0

後的字符串,你甚至嘗試自己解決這個問題?告訴我們你的代碼。 – mdziekon

+0

var t =「http://local.evibe-dash.in/tickets/123?ref=avl-error#10610」; arr = t.split(「=」); res = arr [1] .split(「#」); alert(res [0] +「」+ res [1]); –

+1

我不知道該如何解決,爲什麼我問@mdziekon。我在這裏做得不是很有趣 – Vikash

回答

1

.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);

+0

我想要「ref = avl-error」,不僅是查詢的avl錯誤。我怎麼才能得到它。 – Vikash

+0

@Vikash改用'var query = url.match(/ ref = [^#] + /)[0]'。 – Mohammad

+0

謝謝@Mhamhammad。解決了。你可以請建議我一些很好的正則表達式教程,我的問題已經解決,但我完全不理解代碼。 – Vikash

0

這在Stack中被多次詢問和回答。

看看這個帖子:

How can I get query string values in JavaScript?

Parse query string in JavaScript

Basicly你必須:

  1. 讀取查詢字符串: 「?」 畢竟
  2. 分割字符串「&」焦炭引入陣列
  3. 分裂所有數組元素與「=」
  4. 譯碼值與decodeURIComponent

請詢問之前使用堆棧。並在上面的鏈接上給人們一些聲譽。

+0

這比寫解決方案步驟和重複問題更容易編寫解決方案代碼。 – Mohammad

0

試試這個功能,你得到的查詢字符串鍵的數組,它的價值和哈希

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);