JS根据key值获取URL中的参数值及把URL的参数转换成json对象
不废话了,直接贴代码了,通过示例一讲解JS根据key值获取URL中的参数值及把URL的参数转换成json对象,示例二讲解js获取url传递参数,具体内容请看下文
示例一:
//把url的参数部分转化成json对象
parseQueryString:function(url){
varreg_url=/^[^\?]+\?([\w\W]+)$/,
reg_para=/([^&=]+)=([\w\W]*?)(&|$|#)/g,
arr_url=reg_url.exec(url),
ret={};
if(arr_url&&arr_url[1]){
varstr_para=arr_url[1],result;
while((result=reg_para.exec(str_para))!=null){
ret[result[1]]=result[2];
}
}
returnret;
}
//通过key获取url中的参数值
getQueryString:function(name){
varreg=newRegExp("(^|&)"+name+"=([^&]*)(&|$)","i");
varr=window.location.search.substr(1).match(reg);
if(r!=null)returnunescape(r[2]);
returnnull;
}
示例二:
js通过两种方法获取url传递参数:
js获取url传递参数方法一:
这里是一个获取URL带QUESTRING参数的JAVASCRIPT客户端解决方案,相当于asp的request.querystring,PHP的$_GET
函数:
<Scriptlanguage="javascript">
functionGetRequest(){
varurl=location.search;//获取url中"?"符后的字串
vartheRequest=newObject();
if(url.indexOf("?")!=-1){
varstr=url.substr(1);
strs=str.split("&");
for(vari=0;i<strs.length;i++){
theRequest[strs[i].split("=")[0]]=(strs[i].split("=")[1]);
}
}
returntheRequest;
}
</Script>
然后我们通过调用此函数获取对应参数值:
<Scriptlanguage="javascript"> varRequest=newObject(); Request=GetRequest(); var参数1,参数2,参数3,参数N; 参数1=Request[''参数1'']; 参数2=Request[''参数2'']; 参数3=Request[''参数3'']; 参数N=Request[''参数N'']; </Script>
以此获取url串中所带的同名参数
js获取url传递参数方法二正则分析法:
functionGetQueryString(name){
varreg=newRegExp("(^|&)"+name+"=([^&]*)(&|$)","i");
varr=window.location.search.substr(1).match(reg);
if(r!=null)return(r[2]);returnnull;
}
alert(GetQueryString("参数名1"));
alert(GetQueryString("参数名2"));
alert(GetQueryString("参数名3"));
其他参数获取介绍:
//设置或获取对象指定的文件名或路径。
alert(window.location.pathname);
//设置或获取整个URL为字符串。
alert(window.location.href);
//设置或获取与URL关联的端口号码。
alert(window.location.port);
//设置或获取URL的协议部分。
alert(window.location.protocol);
//设置或获取href属性中在井号“#”后面的分段。
alert(window.location.hash);
//设置或获取location或URL的hostname和port号码。
alert(window.location.host);
alert(window.location.search);