在Web开发中,我们经常需要从当前页面的url中获取相应的键值对中的值;例如:要从“http://www.jiongxiake.com/np?id=03&search=wd”中获取id值,那么就要求我们写一个函数来一一获取;
具体操作过程如下:
1. 封装函数,参数为需要进行操作的url和要寻找的建key
function getValue(url,key){}
2. 找出形参key在url中第一次出现的位置
var start = search.indexOf(key);
如果start值为-1,代表没有找到相应的key值,反之进行下一步操作;
3.找到key结束的位置(url中每个键值对都以"&"分割)
var end = search.indexOf("&",start);
如果end值为-1,则可以断定key为url中最后一个键对值;
if(end == -1){
//key是最后一个键值对
end = search.length;
}
4.依靠start与end值将键值提取出来
var str = search.substring(start,end);
5.“key = value”,获取value值并作为函数返回值返回
//需要获取value
var arr = str.split('=');
return arr[1];
函数部分代码如下:
function getValue(search,key){
//(1)找出key 第一次出现的位置
var start = search.indexOf(key);
if(start == -1){
return;
}
else{
//(2)找出key结束的位置
var end = search.indexOf("&",start);
if(end == -1){
//key是最后一个键值对
end = search.length;
}
}
//(3)将这个键值对提取出来
var str = search.substring(start,end);
//(4)key = value 需要获取value
var arr = str.split('=');
return arr[1];
}
代码测试:
var url = "http://www.jiongxiake.com/np?id=03&search=wd";
console.log(getValue(url,"id")); // 03