js如何获取url参数,拼接url参数
1、通过字符串截取的⽅式获取参数值;
(注意location.search截取“?”后的字符串,该⽅法只适⽤于通过链接跳转的路径,如果是直接截取路径则返回空值,因此应该加上判断)
1 /**
2 * [获取URL中的参数名及参数值的集合]
3 * ⽰例URL:htmlJsTest/getrequest.html?uid=admin&rid=1&fid=2&username=张三
6 */
7 function GetRequest(urlStr) {//两种⽅式,输⼊链接获取或当前链接获取
8 if (typeof urlStr == "undefined") {
9 var url = decodeURI(location.search); //获取url中"?"符后的字符串
10 } else {
11 var url = "?" + urlStr.split("?")[1];
12 }
13 var theRequest = new Object();
14 if (url.indexOf("?") != -1) {
15 var str = url.substr(1);//去掉问号,问号为第⼀个字符
16 strs = str.split("&");
17 for (var i = 0; i < strs.length; i++) {
18 theRequest[strs[i].split("=")[0]] = decodeURI(strs[i].split("=")[1]);
19 }
20 }
21 return theRequest;
22 }
下⾯我们看⼀下结果:
1 var parms_1 = GetRequest();
2 console.log(parms_1); // {"uid":"admin","rid":"1","fid":"2","name":"张三"}
3 console.log(parms_1['name']); // '张三'
4 var parms_2 = GetRequest('htmlJsTest/getrequest.html?uid=admin&rid=1&fid=2&name=张三');
5 console.log(parms_2); // {"uid":"admin","rid":"1","fid":"2","name":"张三"}
6 console.log(parms_2['name']); // '张三'
2、通过参数名获取url中的参数值
1 /**
2 * [通过参数名获取url中的参数值]
3 * ⽰例URL:htmlJsTest/getrequest.html?uid=admin&rid=1&fid=2&name=张三
6 */
7 function GetQueryValue(queryName) {
8 var query = decodeURI(window.location.search.substring(1));//将url转码,如果不是当前地址链接,可以在这⾥填写需要的链接
9 var vars = query.split("&");//分割字符串,将url切割成数组形式的对象
10 for (var i = 0; i < vars.length; i++) {
11 var pair = vars[i].split("=");//再次分割成数组
12 if (pair[0] == queryName) { return pair[1]; }//如果匹配输出结果
13 }
14 return null;
15 }
字符串截取方法js看⼀下结果:
1 var queryVal=GetQueryValue('name');
2 console.log(queryVal);// 张三
3、通过正则获取到参数值;
1 /**
2 * [通过参数名获取url中的参数值]
3 * ⽰例URL:htmlJsTest/getrequest.html?uid=admin&rid=1&fid=2&name=张三
6 */
7 function GetQueryValue1(queryName) {
8 var reg = new RegExp("(^|&)" + queryName + "=([^&]*)(&|$)", "i");
9 var r = window.location.search.substr(1).match(reg);
10 if ( r != null ){
11 return decodeURI(r[2]);
12 }else{
13 return null;
14 }
15 }
看⼀下结果:
1 var queryVal=GetQueryValue1('name');
2 console.log(queryVal);// 张三
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论