누군가가 원하는 URL 매개 변수를 대상으로 변환하는 방법parseQueryString

3544 단어 String
누군가가 URL 매개 변수를 Object 대상으로 변환해야 하기 때문에 이렇게 썼습니다.정규 exec () 를 통해 실현됩니다.
var parseQueryString = function( url ){
var reg_url =/^[^\?]+\?([\w\W]+)$/,
reg_para
=/([^&=]+)=([\w\W]*?)(&|$)/g, //g is very important
arr_url = reg_url.exec( url ),
ret
= {};
if( arr_url && arr_url[1] ){
var str_para = arr_url[1],result;
while((result = reg_para.exec(str_para)) != null){
ret[result[
1]] = result[2];
}
}
return ret;
}
var url ="http://www.taobao.com/index.php?key0=0&key1=1&key2=&key3=http://www.g.cn?a=1&&b=2";
var obj = parseQueryString(url);

RegExpObject .exec(string) 방법은 일치하지 않으면 null을 되돌려줍니다. 일치하지 않으면 array를 되돌려줍니다. array의 0번째 요소는 정규 표현식과 일치하는 텍스트이고, 첫 번째 요소는 RegExpObject의 첫 번째 하위 표현식과 일치하는 텍스트 (있을 경우) 이며, 두 번째 요소는 RegExpObject의 두 번째 하위 표현식과 일치하는 텍스트 (있을 경우) 입니다.
관련 자료: http://www.w3school.com.cn/js/jsref_exec_regexp.asp

좋은 웹페이지 즐겨찾기