首页 > 代码库 > 两个关于URL解析的例子
两个关于URL解析的例子
例一:
/*解析URL查寻串中的name=value参数对将name=value对存储在对象属性中,并返回对象alert(getQuery().name)*/function getQuery(){ var obj={}; //定义一个空对象 var arr=location.search.substring(1).split(‘&‘);//获取查寻参数 for(var i=0;i<arr.length;i++) { if(arr[i].indexOf(‘=‘)==-1) //如果没找到就跳过 continue; else { arr[i]=arr[i].split(‘=‘); obj[arr[i][0]]=arr[i][1]; //存储为对象属性 } } return obj; //返回解析后的参数}
例二:
/*解析一个url,并生成window.location对象中包含的域href:‘包含完整的url‘,origin:‘包含协议到pathname之前的内容‘,protocol:‘url使用的协议,包含末尾的:‘,host:‘完整主机名,包含:和端口‘,hostname:‘主机名,不包含端口‘,port:‘端口号‘,pathname:‘服务器上访问资源的路径/开头‘,search:‘query string,?开头‘,hashs:‘#开头的fragment identifier‘@param{string} url需要解析的url@return{Object} 包含url信息的对象*/function parseURL(url){ var result={}; var keys=[‘href‘,‘origin‘,‘protocol‘,‘host‘,‘hostname‘,‘port‘,‘pathname‘,‘search‘,‘hashs‘]; var i,len; var reg=/(([^:]+:)\/\/(([^:\/\?#]+)(:\d+)?))(\/[^?#]*)?(\?[^#]*)?(#.*)?/; var matchs=reg.exec(url); if(matchs){ for(i=keys.length-1;i>=0;i--){ result[keys[i]]=matchs[i]?matchs[i]:‘‘; } } return result;}
两个关于URL解析的例子
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。