js 获取url并删除指定参数

//返回参数字符串
function remove_arg_from_url(arg_name_removed) {
    //设置或获取 href 属性中跟在问号后面的部分。
    var url = window.location.search;
    var arr = [];
    var query_string = "";
    if ( url.lastIndexOf('?') == 0) {
        //截取
        var arg_str = url.substr( url.lastIndexOf('?') +1, url.length);
        if (arg_str.indexOf('&') != -1) {
            var arr = arg_str.split('&');
            for (var i in arr) {
                if (arr[i].split('=')[0] != arg_name_removed) {
                    query_string = query_string + arr[i].split('=')[0] + "=" + arr[i].split('=')[1] + "&";
                }
            }
            return query_string.substr(0, query_string.length - 1);
        }
    }
}
//正则匹配
function remove_arg_from_url( name ){
    //从当前URL的?号开始的字符串
    //如:http://www.baidu.com/s?wd=baidu&cl=3 它的search就是?wd=baidu&cl=3
    var query_string = window.location.search.substr(1);
    //如果没有参数则返回空
    if (query_string != undefined) {
        var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
        return query_string.replace(reg,'');
    }
    return '';
}

//获取url中的参数
function getUrlParam(str ,name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
var r = str.match(reg); //匹配目标参数
console.log(r);
if (r != null) return decodeURI(r[2]); return null; //返回参数值
}

  

posted on 2015-06-16 12:11  嘘寒问暖  阅读(2817)  评论(0编辑  收藏  举报

导航