今天碰到要在一个页面获取另外一个页面url传过来的参数,一开始很本能的想到了用 split("?")这样一步步的分解出需要的参数。

后来想了一下,肯定会有更加简单的方法的!所以在网上找到了两个很又简单实用的方法,mark下

方法一:正则分析法

function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]); return null;
}

这样调用:

alert(GetQueryString("参数名1"));
alert(GetQueryString("参数名2"));
alert(GetQueryString("参数名3"));

方法二:

?
<span style="font-size: 16px;"><Script language="javascript">
function GetRequest() {
   var url = location.search; //获取url中"?"符后的字串
   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]]=unescape(strs[i].split("=")[1]);
      }
   }
   return theRequest;
}
</Script></span>

这样调用:


<Script language="javascript">
var Request = new Object();
Request = GetRequest();
var 参数1,参数2,参数3,参数N;
参数1 = Request['参数1'];
参数2 = Request['参数2'];
参数3 = Request['参数3'];
参数N = Request['参数N'];
</Script> 

----------------------------------------------------------------------------------------------------------------------------------------
/*
获取URL中最后一项参数的值
*/

var str=window.location.href;
//alert(str);
var es=/SouceID=/; 
es.exec(str); 
var right=RegExp.rightContext; 
//alert(right);
   
  //列子
    <script language="javascript"> 
    var str=window.location.href; 
    var es=/SouceID=/; 
    es.exec(str); 
    var right=RegExp.rightContext; 
    //alert(right);
    switch(right){
    case 'Din':
    case 'Exh':
    case 'Banks':
    case 'Shop':
    case 'Treat':
    case 'Trip':
         ChgTab('tab3','tabcontent3');
         break;
    case 'Air':
    case 'Railway':
    case 'Road':
    case 'Subway':
          ChgTab('tab2','tabcontent2');
          break;
   default:
         ChgTab('tab1','tabcontent1');
}
</script>


//以下是函数的写法
function GetParam(){
    var url = document.location.href;
    var name=""
    if (url.indexOf("=")>0)
    {
        name = url.substring(url.indexOf("=")+1,url.length)
    }
    return name;
}


/*
获取指定的URL参数值
URL:http://www.blogjava.net/blog?name=bainian
参数:paramName URL参数
调用方法:getParam("name")
返回值:bainian
*/
//1.
function getParam(paramName)
{
        paramValue = "";
        isFound = false;
        if (this.location.search.indexOf("?") == 0 && this.location.search.indexOf("=")>1)
        {
            arrSource = unescape(this.location.search).substring(1,this.location.search.length).split("&");
            i = 0;
            while (i < arrSource.length && !isFound)
            {
                if (arrSource[i].indexOf("=") > 0)
                {
                     if (arrSource[i].split("=")[0].toLowerCase()==paramName.toLowerCase())
                     {
                        paramValue = arrSource[i].split("=")[1];
                        isFound = true;
                     }
                }
                i++;
            }   
        }
   return paramValue;
}


//2.
function Request(sName)
{

  /*
   get last loc. of ?
   right: find first loc. of sName
   +2
   retrieve value before next &
  
  */
  
  var sURL = new String(window.location);
  var sURL = document.location.href;
  var iQMark= sURL.lastIndexOf('?');
  var iLensName=sName.length;
  
  //retrieve loc. of sName
  var iStart = sURL.indexOf('?' + sName +'=') //limitation 1
  if (iStart==-1)
        {//not found at start
        iStart = sURL.indexOf('&' + sName +'=')//limitation 1
                if (iStart==-1)
                   {//not found at end
                    return 0; //not found
                   }   
        }
        
  iStart = iStart + + iLensName + 2;
  var iTemp= sURL.indexOf('&',iStart); //next pair start
  if (iTemp ==-1)
                {//EOF
                iTemp=sURL.length;
                }  
  return sURL.slice(iStart,iTemp ) ;
  sURL=null;//destroy String
}  
---------------------------------------------------------------------------------------------------------------------------------------- 
 比如一条url:http://127.0.0.1/index.html?id=999&type=2

那么在index.html中这样写就可以获得id和type的值
var id=$.query.get("id");  // id=999
var type=$.query.get("type");  // type=2
插件的代码如下:
http://blog.jiqila.com/post/164/ 

转载于:https://www.cnblogs.com/zagelover/articles/2756652.html

Javascript获取url参数值相关推荐

  1. JavaScript获取Url地址中的指定参数

    JavaScript获取Url地址中的指定参数 var url = "https://codemank23.com?username=kkk&scope=1";if (ur ...

  2. Javascript获取URL地址的参数

    什么是URL地址的参数 在网页访问的时候,我们会通过url地址来传递参数. 例如,url地址类似: http://www.pingbuwang.com/index.html?a=12&b=he ...

  3. js获取url参数值的方法总结

    js获取url参数值的方法总结 1.方式一:通过字符串截取的方式获取参数值: 2.方式二:通过正则获取到参数值:   1.方式一:通过字符串截取的方式获取参数值: 1).函数一:获取URL中的参数名及 ...

  4. 用JavaScript获取URL中的参数值

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  5. 使用javascript在客户端获取URL参数值的函数

    //获取URL的参数值 function GetUrlParamValue(strname) {    var hrefstr,pos,parastr,para,tempstr;        hre ...

  6. ajax动态获取url参数值,获取URL参数的方法

    一.URL:统一资源定位符 1.URL组成 完整的URL由这几个部分构成: scheme://host:port/path?query#fragment 名词解释: scheme:通信协议.常用的ht ...

  7. 如何使用 Javascript 获取 URL 参数

    JS 获取 URL 参数稍微有点麻烦,因为 JS 只能获取到 URL 的某一部分,但是不能再细分.如果想获取某一项参数,那么还需要使用一下字符串截取. 所以分为两步: 获取 URL 的参数部分 截取某 ...

  8. Javascript 获取Url值 --转

    今天碰到要在一个页面获取另外一个页面url传过来的参数,一开始很本能的想到了用 split("?")这样一步步的分解出需要的参数. 后来想了一下,肯定会有更加简单的方法的!所以在网 ...

  9. js获取url参数值

    2019独角兽企业重金招聘Python工程师标准>>> 方法一:正则分析法 function getQueryString(name) {    var reg = new RegE ...

最新文章

  1. leetcode算法题--矩阵区域和
  2. 车主无忧:天下武功,唯快不破,神策让我们快人一步
  3. 第三篇 Entity Framework Plus 之 Query Cache
  4. CContextMenuManager上下文菜单管理器以及为菜单添加图标
  5. 中学教师计算机技术培训资料,教师信息技术能力培养
  6. Python字符串格式化--formate()的应用
  7. CentOS7中挂载U盘
  8. Linux系统里压缩PDF文件大小
  9. 初中数学课程与信息技术的整合
  10. Python京东爬虫
  11. BTN7970在直流电机驱动系统中的应用
  12. 深度学习/机器学习入门基础数学知识整理(五):Jensen不等式简单理解,共轭函数
  13. uniapp返回上一页,刷新列表
  14. android com.mylhyl,Android 高仿微信朋友圈拍照上传功能
  15. 锐捷交换机(S2924/2928G)光口改电口,或电口改光口的准确方法
  16. java swing+mysql简单零件销售管理系统、订货决策系统
  17. Qtablewidget设置某一列不可编辑
  18. 计算机管理mmc无法,mmc无法创建管理单元解决方法
  19. 文华财经是C语言编程吗,各位大神们,帮我把这指标改下,文华财经里不能用...
  20. MacBook当作Win电脑副屏

热门文章

  1. 计算机网络基础知识,仅此一篇足矣
  2. 在阿里干了五年,面试个小公司挂了…
  3. 有点长的 Java API 设计清单
  4. 数据库的七种传播方式
  5. spring 学习—spring 的ioc底层原理(02)
  6. matlab 雷达图函数,R语言之可视化(20)ggradar雷达图
  7. mysql语言的简介_谁能帮我介绍一下 MY SQL ?
  8. linux cisco路由器,怎样让linux做cisco路由器的专用日志服务器
  9. 工信部等六部门公布2021年度国家绿色数据中心名单
  10. 综合布线的12大热点技术