zoukankan      html  css  js  c++  java
  • 获取url参数

    题目描述

    获取 url 中的参数
    1. 指定参数名称,返回该参数的值 或者 空字符串
    2. 不指定参数名称,返回全部的参数对象 或者 {}
    3. 如果存在多个同名参数,则返回数组


     1 function getUrlParam(sUrl, sKey) {
     2     //去掉#后面的内容,即例子中的here;去掉?前面的地址,剩下的即为参数
     3     var param = sUrl.split("#")[0].split("?")[1];
     4     if(sKey){
     5         var strs = param.split("&");//分隔每个参数
     6         var arrs = new Array();//如果存在多个同名参数,则返回数组
     7         for(var i = 0 , len = strs.length; i<len; i++){  //len保存strs数组的长度,因为strs将会被分割
     8             var tmp = strs[i].split("="); //把每个strs[i]分割成参数和参数值
     9             if(tmp[0] == sKey){  //若等于指定参数,则保存到数组
    10                 arrs.push(tmp[1]);
    11             }
    12         }
    13         if(arrs.length == 1){ //指定参数名称,返回该参数的值 或者 空字符串
    14             return arrs[0];
    15         }
    16         else if(arrs.length == 0){
    17             return "";
    18         }
    19         else {
    20             return arrs;
    21         }
    22     }
    23     else { //不指定参数名称,返回全部的参数对象 或者 {}
    24         if(param == undefined || param == ""){//url无参数列表
    25             return {};//空对象
    26         }
    27         else {
    28             var strs = param.split("&");
    29             var arrObject = new Object();
    30             for(var i = 0 , len = strs.length ; i< len ; i++){
    31                 var tmp = strs[i].split("=");
    32                 if(!(tmp[0] in arrObject)){//判断arrObject是否有这个属性
    33                     arrObject[tmp[0]]= [];//不在创建属性数组
    34                 }
    35                 arrObject[tmp[0]].push(tmp[1]);
    36             }
    37             return arrObject;
    38         }
    39     }
    40 }

    链接:https://www.nowcoder.com/questionTerminal/a3ded747e3884a3c86d09d88d1652e10
    来源:牛客网

  • 相关阅读:
    布局重用 include merge ViewStub
    AS 常用插件 MD
    AS 2.0新功能 Instant Run
    AS .ignore插件 忽略文件
    AS Gradle构建工具与Android plugin插件【大全】
    如何开通www国际域名个人网站
    倒计时实现方案总结 Timer Handler
    AS 进行单元测试
    RxJava 设计理念 观察者模式 Observable lambdas MD
    retrofit okhttp RxJava bk Gson Lambda 综合示例【配置】
  • 原文地址:https://www.cnblogs.com/daheiylx/p/8970607.html
Copyright © 2011-2022 走看看