zoukankan      html  css  js  c++  java
  • js获取url参数及中文乱码处理

    html页面需要获取URL中的参数值,有如下两种方法:

    1、正则表达式解析。代码如下:

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

    调用如下:

    url地址:
    index.html?id=1&name=小丽
    
    调用:
    var id = getQueryString("id");
    var name= getQueryString("name");

    2、js解析处理

    <Script language="javascript"> 
    function GetRequest() { 
      var url = location.search; //获取url中"?"符后的字串 
      var theRequest = new Object(); 
      if (url.indexOf("?") != -1) { 
        var str = url.substr(1); 
        strs = str.split("&"); 
        for(var i = 0; i < strs.length; i ++) { 
          theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]); 
        } 
      } 
      return theRequest; 
    } 
    </Script> 

    调用如下:

    var Request = new Object(); 
    Request = GetRequest(); 
    var 参数1,参数2,参数3,参数N; 
    参数1 = Request['参数1']; 
    参数2 = Request['参数2']; 
    参数3 = Request['参数3']; 
    参数N = Request['参数N']; 

    使用后发现如果参数值是中文会出现乱码问题,需要解码,用decodeURI就可以了:

    var name = getQueryString("name"); 
    name
    = decodeURI(name);

     或者解析的时候直接修改:

    function getQueryString(name) { 
        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); 
        var r = window.location.search.substr(1).match(reg); 
        if (r != null) return decodeURI(r[2]); return null; 
    } 
  • 相关阅读:
    P1396 营救
    [BUUCTF]REVERSE——xor
    [BUUCTF]REVERSE——helloword
    [BUUCTF]REVERSE——[BJDCTF 2nd]guessgame
    [BUUCTF]REVERSE——新年快乐
    [BUUCTF]PWN——jarvisoj_level3
    [BUUCTF]PWN——[BJDCTF 2nd]test
    [BUUCTF]PWN——ciscn_2019_es_2
    [BUUCTF]PWN——[Black Watch 入群题]PWN
    [BUUCTF]PWN——others_shellcode
  • 原文地址:https://www.cnblogs.com/java-chanjuan/p/8276762.html
Copyright © 2011-2022 走看看