正则获取url参数

操蛋的正则 好久不用一次 除非记下来 不然马上忘记

function init(name) {
    console.log('yunx')
    // [以空 或者 & 开头] + [关键词] + 一堆以非& + 以&或者&结尾
    var reg = new RegExp('(^|&)'+ name +'=([^&]*)(&|$)');
    var r = window.location.search.substr(1).match(reg);

    // 不存在r return
    if(!r) {
        return
    };

    // 解码
    return unescape(r);
}

console.log(init('name'))


传统方法

区别于正则,这种方法容易记,普通的数组用法而已

var url = 'www.baidu.com?id=3080&sex=man';
var num  = url.indexOf('?');
var data = url.substr(num+1);  // id=3080&sex=man
var newArray = []

var arr  = data.split('&');    // ["id=3080", "sex=man"]

for (var i=0; i<arr.length; i++) {
    num = arr[i].indexOf('=');
    if(num>0) {
        key = arr[i].substring(0, num);
        val = arr[i].substr(num+1); 

        newArray[key] = val;
    }
}

console.log(newArray); //[id: "3080", sex: "man"]

荆棘鸟
398 声望4 粉丝

« 上一篇
html5 之 Canvas