js从url中获取参数

第一,正表达式,直接找出参数等号右即可。但是,如果参数后&就不可行。

<script language="javascript">


    var str=window.location.href; 


    var es=/clid=/; 


    


    es.exec(str);


     


    var right=RegExp.rightContext; 


    if(right=="1")


    {


        sub_nav_4.style.display = "block";


        li4.style.background = "#a1ca00";


    }


</script>


    
第二,把能找到的参数都付argsarr,将来可以用argsarr[i]行相访问,方法不,太,参数不容易记忆    

//提取URL中的参数


function getArgs()


{


    //加上substring的意是去掉查询字符串中的?号。


    //var query = window.location.search.substring(1);



    //定一个数,用于存放取出来的字符串参数。


    var argsArr = new Object();



    //URL中的查询字符串参数


    var query = window.location.search;


    query = query.substring(1);



    //里的pairs是一个字符串数


    //name=myname&password=1234&sex=male&address=nanjing


    var pairs = query.split("&");



    for(var i=0;i<pairs.length;i++)


    {


        var sign = pairs[i].indexOf("="); 


        //如果没有找到=号,那就跳,跳到下一个字符串(下一个循)。


        if(sign == -1)


        {


            continue


        }



        var aKey = pairs[i].substring(0,sign);


        var aValue = pairs[i].substring(sign+1);       



        argsArr[aKey] = aValue;


    }



    return argsArr;



第三,最简单的方法,似第二,不没有建数存参数,可直接访问参数的名字,容易看懂。     

<script language="javascript">


    function getarg()


    {


        var url = unescape(window.location.href);


        var allargs = url.split("?")[1];


        var args = allargs.split("&");


        for(var i=0; i<args.length; i++)


        {


            var arg = args[i].split("=");


            eval('this.'+arg[0]+'="'+arg[1]+'";');


        }


    } 



    var urlarg=new getarg();


    if(urlarg.clid=="1")


    {


        sub_nav_6.style.display = "block";


        li6.style.background = "#a1ca00";


    }


</script> 

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章