您的位置:首页 > 产品设计 > UI/UE

某人要的将url参数转换成对象的方法parseQueryString

2011-07-22 13:33 701 查看
某人需要将url参数转换成object对象,所以写了这么个东东。通过正则的exec()实现。

var parseQueryString = function( url ){
var reg_url =/^[^\?]+\?([\w\W]+)$/,
reg_para=/([^&=]+)=([\w\W]*?)(&|$)/g, //g is very important
arr_url = reg_url.exec( url ),
ret        = {};
if( arr_url && arr_url[1] ){
var str_para = arr_url[1],result;
while((result = reg_para.exec(str_para)) != null){
ret[result[1]] = result[2];
}
}
return ret;
}
var url ="http://www.taobao.com/index.php?key0=0&key1=1&key2=&key3=http://www.g.cn?a=1&&b=2";
var obj = parseQueryString(url);


RegExpObject .exec(string)方法,如果不匹配返回null,如果匹配成功,返回一个array,array的第0个元素为正则表达式相匹配的文本,第 1 个元素是与 RegExpObject 的第 1 个子表达式相匹配的文本(如果有的话),第 2 个元素是与 RegExpObject 的第 2 个子表达式相匹配的文本(如果有的话),以此类推。

相关资料:http://www.w3school.com.cn/js/jsref_exec_regexp.asp
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐