【javascript】提取 url 的搜索字符串中的参数

今天在犀牛书上发现了一个有用的函数 urlArgs(提取 url 的搜索字符串中的参数)。我们经常会看到有的页面链接地址后面会跟有参数,比如 http://www.xxx.com/?username=yyy&password=zzz 之类的,很多时候我们需要获得这些参数的值(yyy 和 zzz),那么就可以利用 urlArgs 函数,通过该函数的返回值(返回值是对象)的属性来获取。

urlArgs 函数代码:

function urlArgs(){
    var args = {};
    var query = location.search.substring(1);
    if(query){
        if(query.indexOf('=') == -1){
            alert('参数形式错误');
            return false;
        }else{
            var pairs = query.split('&');
            for(var i = 0; i < pairs.length; i++){
                var pos = pairs[i].indexOf('=');
                if(pos == -1) continue;
                var name = pairs[i].substring(0, pos);
                if(!name){
                    alert('参数名不能为空');
                    return false;
                }
                var value = pairs[i].substring(pos + 1);
                value = decodeURIComponent(value);
                args[name] = value;
            }
        }
    }else{
        alert('没有参数');
        return false;
    }
    return args;
}

使用方法:

比如链接地址:http://www.xxx.com/?username=yyy&password=zzz

var args = urlArgs();
var username = args.username;    //yyy
var password = args.password;    //zzz

 

posted @ 2013-01-22 17:13  朱羽佳  阅读(1319)  评论(3编辑  收藏  举报
回顶部