js使用正则获取当前页面url指定参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js使用正则获取当前页面url指定参数相关的知识,希望对你有一定的参考价值。

参考技术A 网址: http://1.com/
调用: QueryString('name')
返回: null

网址: http://1.com/?name=cwj&age=21
调用: QueryString('name')
返回: cwj

现在随便拿一个网址: https://m.weibo.cn/u/5902368392?topnav=1&wvr=6&is_all=1&jumpfrom=weibocom ,这个网址的 location 是:

所以这个地址的 location.search 是 ?topnav=1&wvr=6&is_all=1&jumpfrom=weibocom ,这就是需要执行匹配的字符串

match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。

存放匹配结果的数组。在这个方法中将匹配结果放在了数组 sValue 中。

RegExp 对象表示正则表达式

该对象接受两个参数,第一个参数是一个字符串,指定了正则表达式的模式或其他正则表达式。第二个参数 i 代表着区分大小写的匹配。

调用该方法: QueryString('wvr') ,根据以上正则表达式匹配出来的结果是:

要注意的是 match 方法返回的数组 0 位置是匹配的字符串,所以相应参数在 sValue[1] 中

js获取当前域名Url相对路径和参数以及指定参数

  1. JS获取当前域名有两种方法
方法一:var domain =document.domain;

 

方法二:var domain =window.location.host;

 

注意问题:
由于获取到的当前域名不包括 http://,所以把获取到的域名赋给 a 标签的 href 时,别忘了加上 http://,否则单击链接时导航会出错
 
 
  1. 获取当前URL的4种方式
  2. 获取当前URL参数的方法
方式一:varurl =window.location.href;
 
方式二: varurl =self.location.href;
 
方式三:varurl = document.URL;
 
方式四: varurl =document.location;
 
注意问题:ie 地址栏显示的是什么,获取到的 url 就是什么。
 
 
3.  获取相对路径的方法
首先获取 Url,然后把 Url 通过 // 截成两部分,再从后一部分中截取相对路径。如果截取到的相对路径中有参数,则把参数去掉。
 
  functionGetUrlRelativePath()
  {
    varurl =document.location.toString();
    vararrUrl = url.split("//");
 
    var start = arrUrl[1].indexOf("/");
    varrelUrl = arrUrl[1].substring(start);//stop省略,截取从start开始到结尾的所有字符
 
    if(relUrl.indexOf("?") != -1){
      relUrl= relUrl.split("?")[0];
    }
    returnrelUrl;
  }
 
调用方法:GetUrlRelativePath();

举例:假如当前 Url 是 http// www. liangshunet. com/pub/item.aspx?t=osw7,则截取到的相对路径为:/pub/item.aspx。
 
 
 
 
functionGetUrlPara()
  {
    varurl =document.location.toString();
    vararrUrl = url.split("?");
 
    varpara = arrUrl[1];
    returnpara;
  }
 
  调用方法:GetUrlPara()
 
  举例:假如当前 Url 是 http// www. liangshunet. com/pub/item.aspx?t=osw7,则截取到的参数部分为:t=osw7。

 

 

  1. 获取指定URL参数的方法
//paraName 等找参数的名称
  functionGetUrlParam(paraName) {
    varurl =document.location.toString();
    vararrObj = url.split("?");
 
    if (arrObj.length> 1) {
      vararrPara = arrObj[1].split("&");
      vararr;
 
      for (var i = 0; i <arrPara.length; i++) {
        arr= arrPara[i].split("=");
 
        if (arr != null&&arr[0] ==paraName) {
          returnarr[1];
        }
      }
      return "";
    }
    else {
      return "";
    }
  }
 
  调用方法:GetUrlParam("id");
 
  举例说明:
 
  假如当网页的网址有这样的参数 test.htm?id=896&s=q&p=5,则调用 GetUrlParam("p"),返回 5。

 



以上是关于js使用正则获取当前页面url指定参数的主要内容,如果未能解决你的问题,请参考以下文章

如何获取当前页面的url地址?

js获取上一页当前页及域名url

JS刷新当前页面的几种方法总结

js获取当前域名Url相对路径和参数以及指定参数

js获取url地址里的数据

js 获取当前页url网址信息