js获取页面跳转带过来的路径参数

48 篇文章 0 订阅

1.获取函数封装

//获取参数封装
function GetPar(name) {
	var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
	var r = window.location.search.substr(1).match(reg);
	if(r != null) return decodeURIComponent(r[2]);
	return null;
}	
//传入参数名称(为字符串形式)
//在这里获取,用变量储存,在后续页面才能获得,否则后续子页面无法获取
var id=GetPar("id");	

console.log(id)

2.举例

  (1)假设上一个页面跳转的路径"http://www.baidu.com?id=5&city=good"

         var id=GetPar(id);

          则得到id的值为5

 (2)假设上一个页面传入特殊符号或者汉字,需要先转码,再添加到页面参数进行跳转(encodeURIComponent()方法);、

 (3)说明

  对于  encodeURIComponent(URIstring) 函数把URIstring字符串路径进行编码,再通过decodeURIComponent(URIstring)函数把编码后的字符串进行解码:

  var test1="http://www.w3school.com.cn/My first/";

  encodeURIComponent(test1);//http%3A%2F%2Fwww.w3school.com.cn%2FMy%20first%2F

  decodeURIComponent(test1);//http://www.w3school.com.cn/My first/

3.补充

对于stringObject.substring(start,stop)和stringObject.substr(start,length)和stringObject.slice(start,end)三者的区别:

三者的第一个参数必须存在,第二个参数可选(参数必须为整数);

substring的参数必须为正整数

var stringValue = “hello world”;

    h e l l o   w o r l d
        1 2 3 4 5 6 7 8 9 10 11(正数位置)
      -11                    -1(负数位置)


①参数为两个正整数时

  alert(stringValue.slice(3,7));         //”lo w”包含起点,不包含终点
  alert(stringValue.substring(3,7));    //”lo w”包含起点,不包含终点

  alert(stringValue.substr(3,7));       //”lo worl”起始位置,长度为七

②参数为一个正整数时(一个正整数时相同,可以用slice和substring来替换substr)

  alert(stringValue.slice(3));          //”lo world”起始位置到结束
  alert(stringValue.substring(3));      //”lo world”起始位置到结束
  alert(stringValue.substr(3));        //”lo world”起始位置到结束

③参数为两个负整数时

  alert(stringValue.slice(3,-4));         //”lo w”包含起点(-4),不包含终点(3)
  alert(stringValue.substring(3,-4));    //”hel”-4位负数变成了0,相当于0-3包含0不包含3


  alert(stringValue.substr(3,-4));       //""(空字符串)第二个参数为长度,长度不可能为负数所以为空


④参数为一个负整数时

  alert(stringValue.slice(-3));          //”rld”从-3截到末尾
  alert(stringValue.substring(-3));      //”hello world”只能是正整数,把-3变成了0,相当于从0到末尾

  alert(stringValue.substr(-3));        //”rld”

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值