手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >js分解url参数(面向对象-极简主义法应用)
js分解url参数(面向对象-极简主义法应用)
摘要:修改前:复制代码代码如下:varurl="www.taobao.com?key0=a&key1=b&key2=c";functionpars...

修改前:

复制代码 代码如下:

<script type="text/javascript">

var url="www.taobao.com?key0=a&key1=b&key2=c";

function parseQueryString(url){

var str=url.split("?")[1],

items=str.split("&");

var arr,name,value;

for(var i = 0, l = items.length; i < l; i++){

arr=items[i].split("=");

name= arr[0];

value= arr[1];

this[name]=value;

}

}

var obj=new parseQueryString(url);

alert(obj.key1)

</script>

修改后:

复制代码 代码如下:

<script type="text/javascript">

var url="www.taobao.com?key0=a&key1=b&key2=c";

var pQString={

createNew:function(url){

var str=url.split("?")[1],

items=str.split("&");

var arr,name,value;

for(var i = 0, l = items.length; i < l; i++){

arr=items[i].split("=");

name= arr[0];

value= arr[1];

this[name]=value;

}

}

}

var obj=new pQString.createNew(url);

alert(obj.key1)

</script>

感谢 草根程序猿很厉害把这个方法重写了一下,更严密,高效了,最后面在些再学习一下!!!

复制代码 代码如下:

<script type="text/javascript">

function getQueryString(url) {

if(url) {

url=url.substr(url.indexOf("?")+1); //字符串截取,比我之前的split()方法效率高

}

var result = {}, //创建一个对象,用于存name,和value

queryString =url || location.search.substring(1), //location.search设置或返回从问号 (?) 开始的 URL(查询部分)。

re = /([^&=]+)=([^&]*)/g, //正则,具体不会用

m;

while (m = re.exec(queryString)) { //exec()正则表达式的匹配,具体不会用

result[decodeURIComponent(m[1])] = decodeURIComponent(m[2]); //使用 decodeURIComponent() 对编码后的 URI 进行解码

}

return result;

}

// demo

var myParam = getQueryString("www.taobao.com?key0=a&key1=b&key2=c");

alert(myParam.key1);

</script>

注:

1、substr()与substring(start,stop) ,提取字符串中介于两个指定下标之间的字符。

重要事项:与 slice() 和 substr() 方法不同的是,substring() 不接受负的参数。

参见http://www.jb51.net/w3school/js/jsref_substring.htm

2、location.search.substring(1) ,location.search设置或返回从问号 (?) 开始的 URL(查询部分)。

参见http://www.jb51.net/w3school/htmldom/prop_loc_search.htm

3、exec() 方法用于检索字符串中的正则表达式的匹配。太强大了,还不会用

参考http://www.jb51.net/w3school/js/jsref_exec_regexp.htm

4、使用 decodeURIComponent() 对编码后的 URI 进行解码。

参见http://www.jb51.net/w3school/js/jsref_exec_regexp.htm

【js分解url参数(面向对象-极简主义法应用)】相关文章:

浅谈angularJS 作用域

深入理解JavaScript的React框架的原理

一些很实用且必用的小脚本代码第1/5页

JS/Jquery判断对象为空的方法

javascript匹配车牌号正则表达式

在HTML中插入JavaScript代码的示例

深入浅析JavaScript面向对象和原型函数

基于Web标准的UI组件 — 树状菜单(2)

图片完美缩放

javascript用函数实现对象的方法

精品推荐
分类导航