zoukankan      html  css  js  c++  java
  • js获取地址栏某个参数

    一、获取单个参数:

    若地址栏URL为:abc.html?id=123
    function getString(){
         var locurl=location.href;
         var start=locurl.indexOf("?");
         var end=locurl.length;
         var tempstr=locurl.substring(start+1,end)
         var temp=tempstr.split("=");
          var pid=temp[1];
          alert("pid is:"+pid);
      }

    二、获取多参数:

    采用正则表达式获取地址栏参数:( 强烈推荐,既实用又方便!)

       function GetQueryString(name)
       {
            var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
            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"));
     

    下面举一个例子:

    若地址栏URL为:abc.html?id=123&url=http://www.baidu.com

    那么,但你用上面的方法去调用:alert(GetQueryString("url"));

    则会弹出一个对话框:内容就是 http://www.baidu.com

    如果用:alert(GetQueryString("id"));那么弹出的内容就是 123 啦;

    当然如果你没有传参数的话,比如你的地址是 abc.html 后面没有参数,那强行输出调用结果有的时候会报错:

    所以我们要加一个判断 ,判断我们请求的参数是否为空,首先把值赋给一个变量:

       var myurl=GetQueryString("url");
       if(myurl !=null && myurl.toString().length>1)
      {
         alert(GetQueryString("url"));
       }

    这样就不会报错了!

     
  • 相关阅读:
    pat 甲级 1065. A+B and C (64bit) (20)
    pat 甲级 1064. Complete Binary Search Tree (30)
    pat 甲级 1010. Radix (25)
    pat 甲级 1009. Product of Polynomials (25)
    pat 甲级 1056. Mice and Rice (25)
    pat 甲级 1078. Hashing (25)
    pat 甲级 1080. Graduate Admission (30)
    pat 甲级 团体天梯 L3-004. 肿瘤诊断
    pat 甲级 1099. Build A Binary Search Tree (30)
    Codeforce 672B. Different is Good
  • 原文地址:https://www.cnblogs.com/JsonShare/p/3936766.html
Copyright © 2011-2022 走看看