JS get page URL information

Source: Internet
Author: User

Here we give an example of a URL and then get its various components:
Http://i.cnblogs.com/EditPosts.aspx?opt=1

Window.location.href (Sets or gets the entire URL as a string)
var test = window.location.href;alert(test);//  返回:http://i.cnblogs.com/EditPosts.aspx?opt=1
Window.location.protocol (set or get the protocol portion of the URL)
var test = window.location.protocol;alert(test);//返回:http:
Window.location.host (Sets or gets the host portion of the URL)
var test = window.location.host;alert(test);//返回:i.cnblogs.com
Window.location.port (Sets or gets the port number associated with the URL)
var test = window.location.port;alert(test);//返回:空字符(如果采用默认的80端口 (update:即使添加了:80),那么返回值并不是默认的80而是空字符)
Window.location.pathname (Sets or gets the path portion of the URL (that is, the file address))
var test = window.location.pathname;alert(test);//返回:/EditPosts.aspx
Window.location.search (Sets or gets the portion of the HREF attribute that follows the question mark)
var test = window.location.search;alert(test);//返回:?opt=1(PS:获得查询(参数)部分,除了给动态语言赋值以外,我们同样可以给静态页面,并使用javascript来获得相信应的参数值。)
Window.location.hash (Sets or gets the fragment behind the pound sign "#" in the href attribute)
var test = window.location.hash;alert(test);//返回:空字符(因为url中没有)
JS gets the parameter value in the URL * Regular method
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"));
Split Splitting method
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; }var Request = new Object();Request = GetRequest();<br>// var id=Request["id"]; // var 参数1,参数2,参数3,参数N;// 参数1 = Request['参数1'];// 参数2 = Request['参数2'];// 参数3 = Request['参数3'];// 参数N = Request['参数N'];
Specify a Fetch

For example a url:http://i.cnblogs.com/?j=js, we want the value of the parameter J, which can be called by the following function.

function GetQueryString(name) {          var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");          var r = window.location.search.substr(1).match(reg); //获取url中"?"符后的字符串并正则匹配         var context = "";      if (r != null)      context = r[2];     reg = null;     r = null;     return context == null || context == "" || context == "undefined" ? "" : context;  }alert(GetQueryString("j"));
How to get a single parameter
function GetRequest() {         var url = location.search; //获取url中"?"符后的字串         if (url.indexOf("?") != -1) {? //判断是否有参数                  var str = url.substr(1); //从第一个字符开始 因为第0个是?号 获取所有除问号的所有符串                  strs = str.split("=");? //用等号进行分隔 (因为知道只有一个参数                                           //所以直接用等号进分隔 如果有多个参数 要用&号分隔 再用等号进行分隔)                  alert(strs[1]);???? //直接弹出第一个参数 (如果有多个参数 还要进行循环的)         }  }

Reprinted from: https://www.jianshu.com/p/073f79c5e438

JS get page URL information

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.