韦德国际1946英国 > 计算机网络 > 韦德国际1946英国:使用js获取地址栏参数的方法

原标题:韦德国际1946英国:使用js获取地址栏参数的方法

浏览次数:174 时间:2019-08-31

我们能够用javascript得到在那之中的逐一部分

选用js获取地址栏参数的艺术推荐(一级轻巧),js获取

方法一:应用正则表明式获取地址栏参数:( 刚烈推荐,既实用又利于!)

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

上面举三个例子:

若地址栏UPRADOL为:abc.html?id=123&url=

那么,但您用地点的格局去调用:alert(GetQueryString("url"));

则会弹出三个对话框:内容就是

假定用:alert(GetQueryString("id"));那么弹出的内容正是 123 啦;

自然就算你未曾传参数的话,比方您的地方是 abc.html 后边未有参数,那强行输出调用结果不时会报错:

之所以我们要加一个判定,判别大家呼吁的参数是或不是为空,首先把值赋给二个变量:

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

诸有此类就不会报错了!

格局二:守旧格局

<script type="text/javascript">
function UrlSearch() 
{
  var name,value; 
  var str=location.href; //取得整个地址栏
  var num=str.indexOf("?") 
  str=str.substr(num 1); //取得所有参数  stringvar.substr(start [, length ]

  var arr=str.split("&"); //各个参数放到数组里
  for(var i=0;i < arr.length;i  ){ 
  num=arr[i].indexOf("="); 
  if(num>0){ 
   name=arr[i].substring(0,num);
   value=arr[i].substr(num 1);
   this[name]=value;
   } 
  } 
} 
var Request=new UrlSearch(); //实例化
alert(Request.id);
</script>

比方把那么些代码存为1.html

那正是说作者要拜候1.html?id=test

其有的时候候就取到test的值了

在html里调用

<script type="text/javascript">
var a="http://baidu.com";
</script>
</head>
<body>
<a id="a1" href="">sadfsdfas</a>
<script>
var a1=document.getElementById("a1");
a1.href=a;
</script>

<script type="text/javascript"> 
var a="http://xxx.com/gg.htm?cctv"; 
var s=a.indexOf("?"); 
var t=a.substring(s 1);// t就是?后面的东西了 

</script>

stringvar.substr(start [, length ]

回去五个从钦赐地方上马的钦点长度的子字符串。

stringvar

必选项。要提取子字符串的字符串文字或 String 对象。

start

必选项。所需的子字符串的序曲地方。字符串中的第一个字符的目录为 0。

length

可选项。在回去的子字符串中应满含的字符个数。

设若 length 为 0 或负数,将赶回三个空字符串。如果未有一些名该参数,则子字符串将继续到 stringvar 的末梢。

上面罗列出一部分连锁的参数:

str.toLowerCase()   转换来小写 
str.toUpperCase()   字符串全体调换到大写

UHavalL即:统一财富一定符 (Uniform Resource Locator, UEnclaveL)

一体化的UCRUISERL由那多少个部分构成:

scheme://host:port/path?query#fragment

scheme:通讯公约

常用的http,ftp,maito等

host:主机

服务器(Computer)域名系统 (DNS) 主机名或 IP 地址。

port:端口号

莫西干发型,可选,省略时使用方案的暗许端口,如http的暗中同意端口为80。

path:路径

韦德国际1946英国:使用js获取地址栏参数的方法推荐,用js获取地址栏参数的方法。由零或三个"/"符号隔断的字符串,一般用来表示主机上的四个索引或文件地点。

query:查询

可选,用于给动态网页(如利用CGI、ISAPI、PHP/JSP/ASP/ASP.NET等才具创设的网页)传递参数,可有多少个参数,用"&"符号隔断,每种参数的名和值用"="符号隔离。

fragment:消息片断

字符串,用于钦命网络财富中的片断。举例一个网页中有多少个名词解释,可应用fragment直接固定到某一名词解释。(也堪当锚点.)

对于那样八个UENVISIONL

小编们得以用javascript获得当中的依次部分

1, window.location.href

方方面面UGL450l字符串(在浏览器中就是完整的地址栏)
本例重回值:

2,window.location.protocol

UEnclaveL 的商事部分
本例重回值:http:

3,window.location.host

U奥德赛L 的主机部分
本例再次来到值:www.jb51.net

4,window.location.port

U路虎极光L 的端口部分
若是利用暗中同意的80端口(update:纵然加多了:80),那么再次来到值并非暗中同意的80而是空字符
本例重临值:""

5,window.location.pathname

UTiguanL 的途径部分(正是文件地方)
本例再次来到值:/fisker/post/0703/window.location.html

6,window.location.search

查询(参数)部分
除开给动态语言赋值以外,大家一致能够给静态页面,并运用javascript来收获信任应的参数值
本例再次回到值:?ver=1.0&id=6

7,window.location.hash

锚点
本例重临值:#imhere

上述那篇使用js获取地址栏参数的艺术推荐(超级简单)正是笔者分享给大家的全部内容了,希望能给大家二个参照,也愿意大家多多协助帮客之家。

方法一: 采纳正则表明式获取地址栏参数:( 刚强推荐,既实用又利于!) function...

明日,忽然被同学问到怎样赢得地址栏参数的题目,于是在互连网搜索一二,开采完成格局主要分为三种,一种是通过正则表明式来举办获取参数,另一种则是split拆分法。在此地推荐一篇相比好的博客,分享一下。

方法一:采取正则表明式获取地址栏参数:( 猛烈推荐,既实用又有益于!)

/*
对window.location.search.substr(1).match(reg)解释:
1、location是包含了相关的url的信息,它是windown的一部分。
2、search是一个可以查询的属性,可以查询?之后的部分。
3、match()是你要匹配的部分 后面可以是正则表达式.
4、return unescpe(r[2]) 返回的值 一个数组
*/
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"));
<script type="text/javascript">
function UrlSearch() 
{
  var name,value; 
  var str=location.href; //取得整个地址栏
  var num=str.indexOf("?") 
  str=str.substr(num 1); //取得所有参数  stringvar.substr(start [, length ]

  var arr=str.split("&"); //各个参数放到数组里
  for(var i=0;i < arr.length;i  ){ 
  num=arr[i].indexOf("="); 
  if(num>0){ 
   name=arr[i].substring(0,num);
   value=arr[i].substr(num 1);
   this[name]=value;
   } 
  } 
} 
var Request=new UrlSearch(); //实例化
alert(Request.id);
</script>

上边罗列出一部分连锁的参数:
str.toLowerCase() 调换来小写 str.toUpperCase() 字符串全体调换到大写
U奇骏L即:统一财富一定符 (Uniform Resource Locator, U翼虎L) 完整的U路虎极光L由那多少个部分构成:scheme://host:port/path?query#fragment scheme:通讯公约常用的http,ftp,maito等
host:主机服务器(Computer)域名系统 (DNS) 主机名或 IP 地址。
port:端口号整数,可选,省略时行使方案的私下认可端口,如http的暗许端口为80。
path:路线由零或八个"/"符号隔离的字符串,一般用来代表主机上的二个索引或文件地方。
query:查询可选,用于给动态网页(如运用CGI、ISAPI、PHP/JSP/ASP/ASP.NET等技巧创设的网页)传递参数,可有八个参数,用"&"符号隔断,种种参数的名和值用"="符号隔绝。
fragment:新闻片断字符串,用于钦命网络财富中的片断。举例三个网页中有三个名词解释,可选取fragment直接定位到某一名词解释。(也堪称锚点.)
对此这样三个UENCOREL
http://www.maidq.com/index.html?ver=1.0&id=6#imhere
大家得以用javascript得到其中的顺序部分1, window.location.href整个U途锐l字符串(在浏览器中就是完好的地址栏)本例重返值: http://www.maidq.com/index.html?ver=1.0&id=6#imhere
2,window.location.protocolU昂CoraL 的协商部分本例重返值:http:
3,window.location.hostU昂CoraL 的主机部分本例再次来到值:www.maidq.com
4,window.location.portU智跑L 的端口部分假诺使用暗中同意的80端口(update:纵然加多了:80),那么重临值实际不是私下认可的80而是空字符本例重返值:""
5,window.location.pathnameU途乐L 的路子部分(就是文件地方)本例再次回到值:/fisker/post/0703/window.location.html
6,window.location.search查询(参数)部分除了给动态语言赋值以外,大家一致能够给静态页面,并接纳javascript来收获信任应的参数值本例重回值:?ver=1.0&id=6
7,window.location.hash锚点本例重临值:#imhere

5,window.location.pathname

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

在html里调用

<script type="text/javascript">
  function UrlSearch() {   
    var name,value;    
    var str=location.href; //取得整个地址栏
    var num=str.indexOf("?")    
    str=str.substr(num 1); //取得所有参数   stringvar.substr(start [, length ]
   var arr=str.split("&"); //各个参数放到数组里  
   for(var i=0;i < arr.length;i  ){     
      num=arr[i].indexOf("=");     
      if(num>0){      
        name=arr[i].substring(0,num);
        value=arr[i].substr(num 1);
        this[name]=value;
     }     
  } } 
  var Request=new UrlSearch(); //实例化
  alert(Request.id);
</script>
<script type="text/javascript">
var a="http://baidu.com";
</script>
</head>
<body>
<a id="a1" href="">sadfsdfas</a>
<script>
var a1=document.getElementById("a1");
a1.href=a;
</script>

<script type="text/javascript"> 
var a="http://xxx.com/gg.htm?cctv"; 
var s=a.indexOf("?"); 
var t=a.substring(s 1);// t就是?后面的东西了 

</script>
<script type="text/javascript">
  var a="http://baidu.com";
</script>
</head>
<body>
  <a id="a1" href="">sadfsdfas</a>
<script>
  var a1=document.getElementById("a1");
  a1.href=a;
</script>
<script type="text/javascript"> 
  var a="http://xxx.com/gg.htm?cctv"; 
  var s=a.indexOf("?"); 
  var t=a.substring(s 1);// t就是?后面的东西了 
</script>

对此这么一个ULacrosseL

用JS获取地址栏参数的点子(三种)
艺术一:接纳正则表明式获取地址栏参数:( 刚强推荐,既实用又利于!)

stringvar

  • 注:当通过U揽胜L传参数时,互联网暗中认可的传输编码格式为encodeURI对汉字进行编码,所以在传输进度中会出现乱码,建设方案为:将unescape(r[2])转变为encodeURI(r[2])

总体的UENVISIONL由那多少个部分构成:

那样就不会报错了!
措施二:守旧方法

这正是说,但您用地点的方式去调用:alert(GetQueryString("url"));

stringvar.substr(start [, length*]
回去三个从内定位置上马的钦赐长度的子字符串。
stringvar
必选项。要提取子字符串的字符串文字或 String 对象。
start
必选项。所需的子字符串的初叶地方。字符串中的第一个字符的目录为 0。
length
可选项。在回到的子字符串中应满含的字符个数。
假若 length 为 0 或负数,将回到三个空字符串。如果未有一点名该参数,则子字符串将承接到 stringvar 的终极。

query:查询

下边举三个例证:
若地址栏U奥迪Q3L为:abc.html?id=123&url=http://www.maidq.com
这正是说,但您用地点的秘籍去调用:alert(GetQueryString("url"));
则会弹出三个对话框:内容正是 http://www.maidq.com
如果用:alert(GetQueryString("id"));那么弹出的剧情正是 123 啦;
不移至理纵然你从未传参数的话,比方您的地址是 abc.html 前面未有参数,这强行输出调用结果有时会报错:
因此大家要加二个判断,判别我们恳请的参数是或不是为空,首先把值赋给贰个变量:

//www.jb51.net/index.html?ver=1.0&id=6#imhere

举个例子把那个代码存为1.html,那么自身要拜见1.html?id=test那个时候就取到test的值了,在html里调用

ULANDL 的主机部分
本例重返值:www.jb51.net

原来的小说地址:http://www.cnblogs.com/fishtreeyu/archive/2011/02/27/1966178.html

path:路径

str.toLowerCase()   调换来小写 
str.toUpperCase()   字符串全体转变来大写

必选项。所需的子字符串的序幕地方。字符串中的第二个字符的目录为 0。

归来一个从钦定地方上马的钦点长度的子字符串。

host:主机

假若 length 为 0 或负数,将回来贰个空字符串。若无一点点名该参数,则子字符串将一连到 stringvar 的末梢。

艺术二:古板办法

你恐怕感兴趣的小说:

  • JS获取地址栏参数的二种艺术(简单实用)
  • 利用JavaScript获取地址栏参数的不二诀要
  • javascript/jquery获取地址栏url参数的点子
  • JS获取地址栏参数的二种办法小结
  • JS获取地址栏参数的小例子
  • js 获取(接收)地址栏参数值的秘技
  • JavaScript RegExp方法获得地址栏参数(面向对象)
  • 用javascript获取地址栏参数
  • js获取地址栏中传递的参数(二种格局)

本文由韦德国际1946英国发布于计算机网络,转载请注明出处:韦德国际1946英国:使用js获取地址栏参数的方法

关键词: 伟德国际 随笔

上一篇:关于promise的详细讲解

下一篇:没有了