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”