1、方式一:通过字符串截取的方式获取参数值;

  1)、函数一:获取URL中的参数名及参数值的集合

 /**
* [获取URL中的参数名及参数值的集合]
* 示例URL:http://htmlJsTest/getrequest.html?uid=admin&rid=1&fid=2&name=小明
* @param {[string]} urlStr [当该参数不为空的时候,则解析该url中的参数集合]
* @return {[string]} [参数集合]
*/
function GetRequest(urlStr) {
if (typeof urlStr == "undefined") {
var url = decodeURI(location.search); //获取url中"?"符后的字符串
} else {
var url = "?" + urlStr.split("?")[1];
}
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("&");
for (var i = 0; i < strs.length; i++) {
theRequest[strs[i].split("=")[0]] = decodeURI(strs[i].split("=")[1]);
}
}
return theRequest;
}
 var parms_1 = GetRequest();
console.log(parms_1); // {"uid":"admin","rid":"1","fid":"2","name":"小明"}
console.log(parms_1['name']); // '小明'
var parms_2 = GetRequest('http://htmlJsTest/getrequest.html?uid=admin&rid=1&fid=2&name=小明');
console.log(parms_2); // {"uid":"admin","rid":"1","fid":"2","name":"小明"}
console.log(parms_2['name']); // '小明'

  2)、函数二:通过参数名获取url中的参数值

 /**
* [通过参数名获取url中的参数值]
* 示例URL:http://htmlJsTest/getrequest.html?uid=admin&rid=1&fid=2&name=小明
* @param {[string]} queryName [参数名]
* @return {[string]} [参数值]
*/
function GetQueryValue(queryName) {
var query = decodeURI(window.location.search.substring(1));
var vars = query.split("&");
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split("=");
if (pair[0] == queryName) { return pair[1]; }
}
return null;
}
 var queryVal=GetQueryValue('name');
console.log(queryVal);// 小明

2、方式二:通过正则获取到参数值;

 /**
* [通过参数名获取url中的参数值]
* 示例URL:http://htmlJsTest/getrequest.html?uid=admin&rid=1&fid=2&name=小明
* @param {[string]} queryName [参数名]
* @return {[string]} [参数值]
*/
function GetQueryValue1(queryName) {
var reg = new RegExp("(^|&)" + queryName + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if ( r != null ){
return decodeURI(r[2]);
}else{
return null;
}
}
 var queryVal=GetQueryValue1('name');
console.log(queryVal);// 小明

——————————————————————————————————————————————————

最新文章

  1. ABP理论学习之验证DTO
  2. YourSQLDba设置共享路径备份
  3. 从客户端(Content=&quot;&lt;p&gt;测试&lt;/p&gt;&quot;)中检测到有潜在危险的 Request.Form 值
  4. IOS多线程(GCD)
  5. lower_bound和upper_bound算法
  6. console下纯字符实现的贪吃蛇
  7. 如何使用虚拟机在U盘上安装linux
  8. uboot中gd的定义和使用
  9. Android开发之大位图二次採样压缩处理(源码分享)
  10. Android Bitmap 载入与像素操作
  11. postman - 基本操作
  12. AWS Tagging Strategies
  13. 组建自己的局域网(可以将PC机实现为服务器)
  14. 【转】Python之函数进阶
  15. 【Scheme】树结构
  16. JavaScript高级程序设计学习笔记2
  17. Linux挂载qcow2格式的镜像
  18. Java non-javadoc
  19. font-size 基准
  20. 【转】Jmeter做web压力测试时设置持续时间注意点

热门文章

  1. iOS技术博客
  2. Java_foreach不能remove
  3. Java8_stream的map和flatmap
  4. PS各种行业文件创建
  5. Java+TestNG+Maven+Excel+IDEA接口自动化入门(一)环境配置
  6. Appium新版本遇到的问题,不能通过 name 去定位元素抛 Message: Locator Strategy &#39;name&#39; is not supported for this session
  7. CCPC 2019 秦皇岛 Angle Beats
  8. redis启动错误: Warning: no config file specified, using the default config. In order to specify a config
  9. 新版Notepad++加十六进制查看的插件HexEditor
  10. [译]Vulkan教程(16)图形管道基础之总结