js如何准确获取当前页面url网址信息

在WEB开发中,时常会用到javascript来获取当前页面的url网址信息,在这里是我的一些获取url信息的小总结。

下面我们举例一个URL,然后获得它的各个组成部分:http://i.cnblogs.com/EditPosts.aspx?opt=1

1、window.location.href(设置或获取整个 URL 为字符串)

var test = window.location.href;
alert(test);
返回:http://i.cnblogs.com/EditPosts.aspx?opt=1

2、window.location.protocol(设置或获取 URL 的协议部分)

var test = window.location.protocol;
alert(test);
返回:http:

3、window.location.host(设置或获取 URL 的主机部分)

var test = window.location.host;
alert(test);
返回:i.cnblogs.com

4、window.location.port(设置或获取与 URL 关联的端口号码)

var test = window.location.port;
alert(test);
返回:空字符(如果采用默认的80端口(update:即使添加了:80),那么返回值并不是默认的80而是空字符)

5、window.location.pathname(设置或获取与 URL 的路径部分(就是文件地址))
var test = window.location.pathname;
alert(test);
返回:/EditPosts.aspx

6、window.location.search(设置或获取 href 属性中跟在问号后面的部分)

var test = window.location.search;
alert(test);
返回:?opt=1

PS:获得查询(参数)部分,除了给动态语言赋值以外,我们同样可以给静态页面,并使用javascript来获得相信应的参数值。

7、window.location.hash(设置或获取 href 属性中在井号“#”后面的分段)

var test = window.location.hash;
alert(test);
返回:空字符(因为url中没有)

8、js获取url中的参数值

一、正则法

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拆分法

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'];

三、指定取

比如说一个url:http://i.cnblogs.com/?j=js,我们想得到参数j的值,可以通过以下函数调用。

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"));

四、单个参数的获取方法

function GetRequest() {
  var url = location.search; //获取url中"?"符后的字串
  if (url.indexOf("?") != -1) {  //判断是否有参数
   var str = url.substr(1); //从第一个字符开始 因为第0个是?号 获取所有除问号的所有符串
   strs = str.split("=");  //用等号进行分隔 (因为知道只有一个参数 所以直接用等号进分隔 如果有多个参数 要用&号分隔 再用等号进行分隔)
   alert(strs[1]);     //直接弹出第一个参数 (如果有多个参数 还要进行循环的)
  }
}

以上就是本文的全部内容,希望对大家理解如何获取当前页面url网址信息有所帮助。

(0)

相关推荐

  • JS教程:window.location使用方法的区别介绍

    window.location.href=&http://www.webjx.com/javascript/ldquo;url":改变url地址;window.location.replace("url"):将地址替换成新url,该方法通过指定URL替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,你不能通过"前进"和"后 退"来访问已经被替换的URL,这个特点对于做一些过渡页面非常有用!window.lo

  • JS获取url链接字符串 location.href

    js获取url链接字符串:location.href 可以对其进行截取,从而获取传送的参数,常用如下: location.href.indexOf("?")------获取?的index值. 注意:这里的location.href可不是指的现在地址栏里的地址,而是页面实际的地址. 另外,一些题外话: C#中获取字符所在位置的索引,也是用IndexOf来获取. sqlserver中获取索引,就不同了: 第一种: select * from dbo.users where CharInde

  • JS 中document.URL 和 windows.location.href 的区别

    document 表示的是一个文档对象,windows 表示一个窗口对象. 一个窗口下面可以有很多的document对象.每个document 都有 一个URL. 但是,这不是所有的区别.当你ctrl + F5 一个链接 http://www.jb51.net/#server 打印 alert(document.URL ); 和 alert(windows.location.href); 发现,这两个的值不一样, document.URL : http://www.jb51.net/ windo

  • window.location.href的用法(动态输出跳转)

    javascript中的location.href有很多种用法,主要如下. self.location.href="/url" 当前页面打开URL页面 location.href="/url" 当前页面打开URL页面 windows.location.href="/url" 当前页面打开URL页面,前面三个用法相同. this.location.href="/url" 当前页面打开URL页面 parent.location.h

  • js获取当前页面的url网址信息

    1.设置或获取整个 URL 为字符串: window.location.href 2.设置或获取与 URL 关联的端口号码: window.location.port 3.设置或获取 URL 的协议部分 window.location.protocol 4.设置或获取 href 属性中跟在问号后面的部分 window.location.search 5.获取变量的值(截取等号后面的部分) 复制代码 代码如下: var url = window.location.search; // alert(

  • js获取当前页的URL与window.location.href简单方法

    利用JavaScript获取当前页的URL,这个问题起来好像很复杂,如果第一次去想这个问题,很多人估计又在琢磨到底又是哪个神一般的Javascript函数. 其实不是,Javascript获取当前页的URL的函数就是我们经常用来重定向的window.location.href. 比如如下函数: <script> var url=window.location.href; var loc = url.substring(url.lastIndexOf('/')+1, url.length); a

  • JS实现获取当前URL和来源URL的方法

    本文实例讲述了JS实现获取当前URL和来源URL的方法.分享给大家供大家参考,具体如下: index.html: <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1,max

  • js如何准确获取当前页面url网址信息

    在WEB开发中,时常会用到javascript来获取当前页面的url网址信息,在这里是我的一些获取url信息的小总结. 下面我们举例一个URL,然后获得它的各个组成部分:http://i.cnblogs.com/EditPosts.aspx?opt=1 1.window.location.href(设置或获取整个 URL 为字符串) var test = window.location.href; alert(test); 返回:http://i.cnblogs.com/EditPosts.as

  • PHP获取当前页面URL函数实例

    本文实例讲述了PHP获取当前页面URL函数实例,分享给大家供大家参考.具体实现方法如下: 在PHP中,没有默认的Function来获取目前所在页面的URL,所以今天就向大家介绍一个在PHP获取当前页面完整URL的PHP函数. 函数代码如下,调用时只需要使用 curPageURL() 就行啦: 复制代码 代码如下: /* 获得当前页面URL开始 */ function curPageURL() {     $pageURL = 'http';     if ($_SERVER["HTTPS&quo

  • Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例

    本文实例讲述了Python实现可获取网易页面所有文本信息的网易网络爬虫功能.分享给大家供大家参考,具体如下: #coding=utf-8 #--------------------------------------- # 程序:网易爬虫 # 作者:ewang # 日期:2016-7-6 # 语言:Python 2.7 # 功能:获取网易页面中的文本信息并保存到TXT文件中. #--------------------------------------- import string impor

  • 从外部的js文件中获取ASPX页面的控件ClientID

    前言 当使用MasterPage.UserControl等容器时,为了避免控件的重复命名,asp.net会自动将容器中的控件生成一个ClientID(Control Tree中的可生成,否则不会生成). 例如:ContentPlaceHolder1中的Button1默认情况下会生成"ctl00_ContentPlaceHolder1_Button1"的ClientID. 我们在Render出来的mark up中看到的也是这些ClientID.所以,当我们使用JavaScript对控件元

  • php获取当前页面完整URL地址

    使用PHP编写程序的时候,我们常常想要获取当前页面的URL.下面提供一个用于获取当前页面URL的函数以及使用方法: 示例一: <?php // 说明:获取完整URL function curPageURL() { $pageURL = 'http'; if ($_SERVER["HTTPS"] == "on") { $pageURL .= "s"; } $pageURL .= "://"; if ($_SERVER[&q

  • selenium获取当前页面的url、源码、title的方法

    此篇博客学习的api如标题,分别是: current_url 获取当前页面的url: page_source 获取当前页面的源码: title 获取当前页面的title: 将以上方法按顺序练习一遍,效果如GIF: from selenium import webdriver from time import sleep sleep(2) driver = webdriver.Chrome() driver.get("https://www.baidu.com/") # 移动浏览器观看展

  • httpclient重定向之后获取网址信息示例

    复制代码 代码如下: import org.apache.http.HttpEntity;import org.apache.http.HttpHost;import org.apache.http.HttpResponse;import org.apache.http.client.HttpClient;import org.apache.http.client.methods.HttpGet;import org.apache.http.client.methods.HttpUriReque

  • 利用jquery正则表达式在页面验证url网址输入是否正确

    本文介绍的是使用jQuery正则表达式在前台页面验证url网址输入是否正确,代码如下: <!DOCTYPE html> <html> <head> <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript"&

  • PHP获取当前页面完整URL的方法

    一.利用javascript实现: top.location.href 顶级窗口的地址 this.location.href 当前窗口的地址 二.利用PHP实现 http://localhost/PHP/XX.php?id=5 //获取域名或主机地址 echo $_SERVER['HTTP_HOST']; #localhost //获取网页地址 echo $_SERVER['PHP_SELF']; #/PHP/XX.php //获取网址参数 echo $_SERVER["QUERY_STRING

随机推荐