js对url的常见操作

本文介绍了一种在前端开发中常见的需求——对URL中的查询参数进行增删改查的方法。提供了三个实用函数:设置URL参数值、获取URL参数值及删除URL参数值。
/*设置URL参数值函数*/ function setQueStr(url, ref, value) { var str = ""; if (url.indexOf('?') != -1) str = url.substr(url.indexOf('?') + 1); else return url + "?" + ref + "=" + value; var returnurl = ""; var setparam = ""; var arr; var modify = "0"; if (str.indexOf('&') != -1) { arr = str.split('&'); for (i in arr) { if (arr[i].split('=')[0] == ref) { setparam = value; modify = "1"; } else { setparam = arr[i].split('=')[1]; } returnurl = returnurl + arr[i].split('=')[0] + "=" + setparam + "&"; } returnurl = returnurl.substr(0, returnurl.length - 1); if (modify == "0") if (returnurl == str) returnurl = returnurl + "&" + ref + "=" + value; } else { if (str.indexOf('=') != -1) { arr = str.split('='); if (arr[0] == ref) { setparam = value; modify = "1"; } else { setparam = arr[1]; } returnurl = arr[0] + "=" + setparam; if (modify == "0") if (returnurl == str) returnurl = returnurl + "&" + ref + "=" + value; } else returnurl = ref + "=" + value; } return url.substr(0, url.indexOf('?')) + "?" + returnurl; } /*获取URL参数值函数*/ function getQueStr(url, ref) { var str = url.substr(url.indexOf('?') + 1); if (str.indexOf('&') != -1) { var arr = str.split('&'); for (i in arr) { if (arr[i].split('=')[0] == ref) return arr[i].split('=')[1]; } } else { return url.substr(url.indexOf('=') + 1) } } /*删除URL参数值函数*/ function delQueStr(url, ref) { var str = ""; if (url.indexOf('?') != -1) str = url.substr(url.indexOf('?') + 1); else return url; var arr = ""; var returnurl = ""; var setparam = ""; if (str.indexOf('&') != -1) { arr = str.split('&'); for (i in arr) { if (arr[i].split('=')[0] != ref) { returnurl = returnurl + arr[i].split('=')[0] + "=" + arr[i].split('=')[1] + "&"; } } return url.substr(0, url.indexOf('?')) + "?" + returnurl.substr(0, returnurl.length - 1); } else { arr = str.split('='); if (arr[0] == ref) return url.substr(0, url.indexOf('?')); else return url; } } /*设置URL参数值函数*/ function setQueStr(url, ref, value) { var str = ""; if (url.indexOf('?') != -1) str = url.substr(url.indexOf('?') + 1); else return url + "?" + ref + "=" + value; var returnurl = ""; var setparam = ""; var arr; var modify = "0"; if (str.indexOf('&') != -1) { arr = str.split('&'); for (i in arr) { if (arr[i].split('=')[0] == ref) { setparam = value; modify = "1"; } else { setparam = arr[i].split('=')[1]; } returnurl = returnurl + arr[i].split('=')[0] + "=" + setparam + "&"; } returnurl = returnurl.substr(0, returnurl.length - 1); if (modify == "0") if (returnurl == str) returnurl = returnurl + "&" + ref + "=" + value; } else { if (str.indexOf('=') != -1) { arr = str.split('='); if (arr[0] == ref) { setparam = value; modify = "1"; } else { setparam = arr[1]; } returnurl = arr[0] + "=" + setparam; if (modify == "0") if (returnurl == str) returnurl = returnurl + "&" + ref + "=" + value; } else returnurl = ref + "=" + value; } return url.substr(0, url.indexOf('?')) + "?" + returnurl; }

转载于:https://www.cnblogs.com/woaic/archive/2012/11/09/3942797.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值