获取url参数的两种方式

获取URL参数的方法封装

/**
 * 获取URL参数( URL编码问题解决办法: decodeURI(requestURL("参数名"))解码 )
 * @param paras : 参数名
 * @returns {*} : 参数对应值
 */
function requestURL(paras) {
  var url = location.href;
  var paraString = url.substring(url.indexOf("?") + 1, url.length).split("&");
  var paraObj = {};
  for (i = 0; j = paraString[i]; i++) {
    paraObj[j.substring(0, j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=") + 1, j.length);
  }
  var returnValue = paraObj[paras.toLowerCase()];
  if (typeof(returnValue) == "undefined" || returnValue == "undefined" || returnValue == null) {
    return "";
  } else {
    return returnValue;
  }
}

正则法获取

//例:地址为:https://hjm100.cn?name=1
//截取url传递的参数 
     function GetQueryString(name) { 
        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i"); 
        var r = window.location.search.substr(1).match(reg); 
        if (r!=null) return (r[2]); return null; 
    }       
//调用方法:
console.log(GetQueryString('name'))

数组法

function UrlSearch() {
    var url,value; 
    var str=location.href; //取得整个地址栏
    var num=str.indexOf("?") 
    str=str.substr(num+1); //取得所有参数   stringvar.substr(start [, length ]
    var arr=str.split("&"); //各个参数放到数组里
    for(var i=0;i < arr.length;i++){ 
    num=arr[i].indexOf("="); 
    if(num>0){ 
        url=arr[i].substring(0,num);
        value=arr[i].substr(num+1);
        this[url]=value;
        } 
    } 
} 
var Request=new UrlSearch(); //实例化
var slide = Request.slide
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,298评论 0 3
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,270评论 0 4
  • JavaScript语言精粹 前言 约定:=> 表示参考相关文章或书籍; JS是JavaScript的缩写。 本书...
    微笑的AK47阅读 590评论 0 3
  • 点击查看原文 Web SDK 开发手册 SDK 概述 网易云信 SDK 为 Web 应用提供一个完善的 IM 系统...
    layjoy阅读 13,910评论 0 15
  • JS基础 页面由三部分组成:html:超文本标记语言,负责页面结构css:层叠样式表,负责页面样式js:轻量级的脚...
    小贤笔记阅读 622评论 0 5