js获取参数的方法,这里两种方式,都可以很快速获取,进阶版兼容中文

就这个函数:

//直接分割法
function get_param(name) {
    var query = window.location.search.substring(1);
    var vars = query.split("&");
    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i].split("=");
        if (pair[0] == name) {
            return pair[1];
        }
    }
    return false;
}

//用正则
function bs_get_param(name){
    var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
    var r = window.location.search.substr(1).match(reg);
    if(r!=null)return  unescape(r[2]); return null;
}

//兼容中文(其他的中文乱码无法解析)
//获取参数
function bs_get_param(name) {
    // 获取参数
    var url = window.location.search;
    // 正则筛选地址栏
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
    // 匹配目标参数
    var result = url.substr(1).match(reg);
    //返回参数值
    return result ? decodeURIComponent(result[2]) : null;
}
 


//参数模拟
url = 'xxxx.com?uid=123123ksdfdsf';

//操作
var uid = get_param('uid');
var uid2 = bs_get_param('uid');


评论/留言