2012-07-20 3 views
0

아래의 url 해시에서 'source'매개 변수와 'group'매개 변수를 읽으려고합니다. 나는 정규식을 사용하고 빈 변수로 끝내는 방법을 모른다.javascript의 url 해시에서 데이터 가져 오기

은 어떻게

function getParameterByName(urlString, name) 
{ 
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); 
    var regexS = "[\\?&]" + name + "=([^&#]*)"; 
    var regex = new RegExp(regexS); 
    var results = regex.exec(urlString); 
    if(results == null) 
    return ""; 
    else 
    return decodeURIComponent(results[1].replace(/\+/g, " ")); 
} 

을 시도

console.log(urlObj.hash); // #source-items?source=1002&?group=Menu 
    var source = urlObj.hash.replace(/.*source=/, ""); 

답변

0

당신이 &?를 제거하고이 같은 것을 사용할 수 있습니다 경우

function parseParams() { 
    var params = window.location.hash.split('?')[1].split('&').map(function(item) { 
     return item.split('='); 
    }); 
    var namedparams = {}; 

    for (i=-1; param = params[++i];) { 
     namedparams[param[0]] = param[1]; 
    } 

    return namedparams; 
} 

이이 기능을 사용하는 방법이다는 :

var params = parseParams(); 
params.group; // the group parameter 
params.source; // the source parameter 
+0

이 소스 만 반환 "그룹"등을 위해 잘 작동 정의되지 않았습니다. – JonWells

+0

내 url이 형편 없습니다. 훌륭하게 작동합니다. 감사 – JonWells

0

아래 URL 해시에서 "소스"와 "그룹"매개 변수를 읽고 getParameterByName(urlObj.hash, "source");

업데이트하여이 작업을 호출 할이 대답의 약간 수정 된 버전입니다 Get query string values in JavaScript