JS或Jquery获取浏览器URL的参数值 汉字值乱码 并转码

15410年前 (2016-01-07)javaScript4830

1、获取url很简单,代码如下:

     window.location.href;

2、jquery获取url参数比较复杂,要用到正则表达式,所以学好javascript正则式多么重要的事情

首先看看单纯的通过javascript是如何来获取url中的某个参数:

        //获取url中的参数
       function getUrlParam(name) {          
          var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
           var r = window.location.search.substr(1).match(reg);  //匹配目标参数
           if (r != null)  return decodeURI(r[2]);  return null; //返回参数值,红色部分decodeURI处理乱码用
       }

 https://www.swzhinan.com/?cate=1&aa=你好

      我们要获取aa的值,可以这样写:

   var aa = getUrlParam('aa');

明白了javascript获取url参数的方法,我们可以通过这个方法为jquery扩展一个方法来通过jquery获取url参数,下面的代码为jquery扩展了一个getUrlParam()方法

复制代码
            (function ($) {
               $.getUrlParam = function (name) {                    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");                    var r = window.location.search.substr(1).match(reg);                    if (r != null) return unescape(r[2]); return null;
               }
           })(jQuery);

复制代码

为jquery扩展了这个方法了之后我们就可以通过如下方法来获取某个参数的值了:

   var aa = getUrlParam('aa');

3.如果本地正常,但服务器乱码。需设置服务器的配置文件(而且服务器配置好后,页面不用再做任何转码处理)。

找到服务的配置文件:/usr/local/tomcat7/conf/server.xml

找到:

 <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"/>


改为:(改为项目的字符集后,以上的页面就不用做任何的转码处理了)

 <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" useBodyEncodingForURI="true" URIEncoding="UTF-8"/>

本文原创,转载必追究版权。

分享给朋友:

相关文章

js限制input只能输入数字、英文、汉字

 1.只能输入数字和英文的:  <input onkeyup="value=value.replace(/[\W]/g,'') "...

jquery 操作html元素(及CSS)

jquery 操作html元素(及CSS)

 $("li").addClass("aui-user-view-cell aui-img") ;  //给元素添加样式$('#a1...

js解析json对象获取属性名及值(key value值)

不知道json串属性名字的时候,需要获取属性名。直接附代码://基本json串 var jsonObj = {"55":"1",...

js向后台传json串时候 400 Bad Request 问题处理

ps:用js向后台传JSON串的时候,本地测试没有问题,上传到服务器运行报错:400 Bad Request,没有走到后台。URL参数直接通过不了   后来用tomcat版本测试,...

jquery.validate.min.js自定义添加验证方法(增加身份证、电话验证等)

1、添加验证方法在jquery.validate.js文件中直接添加验证方法,例如:jQuery.validator.addMethod("Specialstring", func...

jstree 实现动态加载树子节点

Js引用:<script src="${root!}/resource/js/plugins/jsTree/jstree.min.js"></script>...

评论列表

点我收录您
10年前 (2016-05-18)

jq方便点儿 JS也就是的 获取个传值还得用个函数 真该进化了

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。