JavaScript操作Url方法版
来源:互联网 发布:mac safari历史记录 编辑:程序博客网 时间:2024/06/05 16:24
/** * URL地址栏操作方法 * @author XiaZhicong <dht1986xia@qq.com> *///返回当前URL $_GET对象, 仿PHP模式用法 $_GET['keyword']var $_GET = (function(){ var url = window.document.location.href.toString(); var u = url.split("?"); if(typeof(u[1]) == "string"){ u = u[1].split("&"); var get = {}; $.each(u,function (index,value) { var j = value.split("="); get[j[0]] = j[1]; }); return get; } else { return {}; }})();/** * URL增加参数 * @param url url 地址 * @param name 参数名称 * @param value 参数值 * @param type int,0,没有参数部分,1,已有参数部分 * @constructor */function AddUrlParam(url,name,value) { var newUrl=url; if(newUrl.indexOf('?')>-1 || newUrl.indexOf('&')>-1){ //url存在参数部分 var Separator='&'; }else{ //url不带参数部分 var Separator='?'; }; if(url.indexOf('#')>-1){ //url中存在书签 newUrl=newUrl.replace('#', Separator+name+'='+value+'#'); }else{ //不存在书签 newUrl=newUrl+Separator+name+"="+value; } return newUrl;}/** * 删除Url参数 * @param url 给定URL地址 * @param name 删除的参数名 * @returns {*} */function DelUrlParam(url, name){ var delparam = ''; var analysisUrl = url.split("?"); if(typeof(analysisUrl[1]) == "string"){ analysisUrl = analysisUrl[1]; if(analysisUrl.indexOf('#') > -1){ //url中存在书签 analysisUrl = analysisUrl.split("#"); analysisUrl = analysisUrl[0] } if (analysisUrl.indexOf(name)> -1) { var paramArr = analysisUrl.split("&"); for (var i = 0; i < paramArr.length; i++) { var cparam = paramArr[i].split("="); if(cparam[0] === name){ delparam = paramArr[i]; if(paramArr.length == 1){ //只有一个参数 delparam = '?'+delparam; }else{ if(i > 0){ //非第一个参数 delparam = '&'+delparam; }else{ //第一个参数 delparam = delparam + '&'; } } break; } } url = url.replace(delparam, ''); } } return url;}/** * 改变URL参数值[正则方式] * @param url URL * @param arg 需更新的参数名 * @param arg_val 新的参数值 */function changeURLpar(url,arg,arg_val){ var pattern=arg+'=([^&]*)'; var replaceText=arg+'='+arg_val; if(url.match(pattern)){ var tmp='/('+ arg+'=)([^&]*)/gi'; tmp=url.replace(eval(tmp),replaceText); return tmp; }else{ if(url.match('[\?]')){ return url+'&'+replaceText; }else{ return url+'?'+replaceText; } } return url+'\n'+arg+'\n'+arg_val;}/** * 更改Url参数值 * @param url URL * @param name 参数名称 * @param value 新参数值 * @returns {*} */function changeURLparam(url,name,value){ var oldParam = '' ,newParam = ''; var analysisUrl = url.split("?"); if(typeof(analysisUrl[1]) == "string"){ analysisUrl = analysisUrl[1]; if(analysisUrl.indexOf('#') > -1){ //url中存在书签 analysisUrl = analysisUrl.split("#"); analysisUrl = analysisUrl[0] } if (analysisUrl.indexOf(name)> -1) { var paramArr = analysisUrl.split("&"); for (var i = 0; i < paramArr.length; i++) { var cparam = paramArr[i].split("="); if(cparam[0] === name){ oldParam = paramArr[i]; if(i > 0){ //非第一个参数 oldParam = '&'+oldParam; newParam = '&'+name +'='+value; }else{ //第一个参数 oldParam = '?'+oldParam; newParam = '?'+name +'='+value; } break; } } url = url.replace(oldParam, newParam); } } return url;}/** * 删除Url中锚点部分 * @param url * @param anchorName * @returns {*} */function delChainlink(url,anchorName){ //判断是否有定位 if(url.indexOf("#") > 0) { url = url.replace('#'+ anchorName, ''); } return url;}
阅读全文
0 0
- JavaScript操作Url方法版
- JavaScript操作Url封装对象版
- javascript操作URL函数
- javascript 操作 url 中 search 部分方法函数
- javascript 操作 url 中 search 部分方法函数
- Js URl检测方法(javascript)
- Javascript解析URL的方法
- JavaScript中URL编码方法
- 详解JavaScript操作URL的方法(单页应用常用)
- javascript操作listbox方法
- javascript操作listbox方法
- javascript操作json方法
- javascript访问URL参数的方法
- Javascript 获取链接(url)参数的方法
- Javascript URL编码方法的比较
- Javascript 获取链接(url)参数的方法
- Javascript 获取链接(url)参数的方法
- javascript取URL值的方法
- 数组(3)
- ucontext-人人都可以实现的简单协程库
- HDU
- 方差、标准差、均方差、均方误差区别总结
- CSU C(1972): 大梵天的恩赐 -汉诺塔变形-双层汉诺塔
- JavaScript操作Url方法版
- 希尔排序
- fork的底层实现
- Python729
- hdu 5015
- PHP连接MySQL数据库的几种方式
- HDU 1503-Advanced Fruits(动态规划,LCS)
- 微信小程序——2.小程序搭建
- Minimum Path Sum问题及解法