다음과 같은 URL이 있습니다 : http://www.my-site.com/#key=kj123asj
. 자바 스크립트를 사용하여 key
을 검색하고 싶습니다.javascript 또는 jquery를 사용하여 URL에서 매개 변수를 검색하는 방법은 무엇입니까?
도움을 주시면 감사하겠습니다.
다음과 같은 URL이 있습니다 : http://www.my-site.com/#key=kj123asj
. 자바 스크립트를 사용하여 key
을 검색하고 싶습니다.javascript 또는 jquery를 사용하여 URL에서 매개 변수를 검색하는 방법은 무엇입니까?
도움을 주시면 감사하겠습니다.
var matches = location.href.match(/(key=)([a-z0-9]+)$/i);
변수 matches
은 배열이며 [2]는 키 값을 포함합니다.
입니다 standard format에 쿼리 문자열을 구문 분석 할 수 있습니다이 자바 스크립트 라이브러리 말 :
http://www.my-site.com/?key=kj123asj
코드 것 key
를 얻을 수 :
var qs = new Querystring();
var key = qs.get("key");
변수 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"
적어도 시작해야합니다.
$.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');
누구나 쿼리 문자열을 참조하는 코드를 가리키는 것 같습니다.
매개 변수가 예제에서와 같이 쿼리 문자열 대신 조각에 있다고 가정하면 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']);