2010-07-22 5 views

답변

0
var matches = location.href.match(/(key=)([a-z0-9]+)$/i); 

변수 matches은 배열이며 [2]는 키 값을 포함합니다.

2

입니다 standard format에 쿼리 문자열을 구문 분석 할 수 있습니다이 자바 스크립트 라이브러리 말 :

http://www.my-site.com/?key=kj123asj 

코드 것 key를 얻을 수 :

var qs = new Querystring(); 
var key = qs.get("key"); 
0

변수 window.location.href에서 전체 URL에 액세스 할 수 있습니다. 그 다음 문자열을 검색하여 # 또는 = 문자를 찾아 데이터를 추출하는 것입니다. 예를 들면 다음과 같습니다.

당연히 첫 번째 값만 가져오고 추출하려는 값이 하나 뿐인 경우에만 작동합니다. 그런 다음

http://www.somewebsite.com/#data={key: 1293, foo: "bar"} 

수행 : 그러나, 당신은 하나 개의 값 때문에 같은 JSON 인코딩 된 객체가 있음을 가질 수

var map = JSON.parse(value); 
이제 항목에 액세스 일반 자바 스크립트 기술을 사용할 수 있습니다

:

var key = map['key'] // 1293 
var foo = map['foo'] // "bar" 

적어도 시작해야합니다.

1
$.extend({ 
    getUrlVars: function(){ 
    var vars = [], hash; 
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); 
    for(var i = 0; i < hashes.length; i++) 
    { 
     hash = hashes[i].split('='); 
     vars.push(hash[0]); 
     vars[hash[0]] = hash[1]; 
    } 
    return vars; 
    }, 
    getUrlVar: function(name){ 
    return $.getUrlVars()[name]; 
    } 
}); 

// Get object of URL parameters 
var allVars = $.getUrlVars(); 

// Getting URL var by its nam 
var byName = $.getUrlVar('name'); 
3

누구나 쿼리 문자열을 참조하는 코드를 가리키는 것 같습니다.

매개 변수가 예제에서와 같이 쿼리 문자열 대신 조각에 있다고 가정하면 window.location.hash 속성을 사용하여 전체 URL을 직접 구문 분석하지 않고 매개 변수에 액세스 할 수 있습니다.

거기에서 다른 사람들이 언급 한 것과 유사한 코드를 사용할 수 있습니다. 이런 간단한 루프가 작동합니다.

var values = {}, 
    pairs = window.location.hash.substring(1).split('&'), 
    pair; 
for (var i = 0, len = pairs.length; i < len; i++) { 
    pair = pairs[i].split('='); 
    values[pair[0]] = pair[1]; 
} 
alert(values['key']); 
관련 문제