2013-02-22 2 views
0

지정된 하위 문자열을 추출한 다음 그 하위 문자열을 추출해야합니다.jQuery는 문자열에서 지정된 하위 문자열과 그 다음 번호를 추출합니다.

예를 들어 http://website.com/ProductCats.asp?cid=159&otherjunk=1 문자열에서 cid=159을 추출해야합니다. cid=이 계속 사용 되더라도 뒤 따르는 숫자는 변경 될 수 있으며 1 ~ 4 자리 사이가 될 수 있습니다.

그 패턴을 추출 할 수있는 방법이 있습니까?

고맙습니다.

+0

플러그인을 사용할 수 있습니까? – lolol

+0

예, 먼저 cid =로 나눈 다음 두 번째 절반을 &로 분리하고 첫 번째 절반을 가져옵니다. –

답변

2

도움이 될 수 있습니다. 찾은 위치를 기억할 수는 없지만 URL을 가져 와서 참조 할 수있는 배열에 변수를 할당하는 함수입니다. 또한 이것은 순수한 자바 스크립트입니다.

function getUrlVars() { 
    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; 
} 

그래서 당신은 그것은 나에게 많은 도움이 있어요

var myURLArray = getUrlVars(); 
var cid = myURLArray['cid']; 

할 것입니다. 다시 나는 이것을하지 않았지만 유용하다.

0

필요한 경우 현재 URL뿐만 아니라 모든 URL에 대해 자바 스크립트 만 사용하십시오. 나는 이것과 관련된 이전의 SO 질문에서 getLocation 함수를 빌렸다.

var getLocation = function(href) { 
    var l = document.createElement("a"); 
    l.href = href; 
    return l; 
}; 
var getUriObject = function(href){ 
    var l = getLocation(href); 
    var queryArray=l.search.substr(1).split('&'); 
    var uriObject={}; 
    for(var i=0;i<queryArray.length;i++){ 
     uriObject[queryArray[i].split('=')[0]]=queryArray[i].split('=')[1]; 
    } 
    return uriObject; 
} 
alert(getUriObject("http://website.com/ProductCats.asp?cid=159&otherjunk=1").cid); 
관련 문제