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

15410年前 (2016-01-07)javaScript4716

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处理乱码用
       }

 http://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"/>

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

分享给朋友:

相关文章

表单用submit提交前增加校验

有时由于各种原因 input 必须用submit类型提交,在表单提交前增加校验。直接附代码 <HTML>      <he...

bootsraps treeview选中子节点自动选中父节点及反选

bootsraps treeview选中子节点自动选中父节点及反选

效果图:引入外部JS及CSS文件:<link href="${root!}/resource/css/bootstrap.min.css" rel="stylesh...

jquery获取下拉列表选中的文本值

                 &nb...

js实现Json对象与json字符串的互转方式

1>jQuery插件支持的转换方式:$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象2>浏览器...

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

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

api.js如何判断aui-switch样式的checkbox是否选中

api.js如何判断aui-switch样式的checkbox是否选中

HTML: <input class="aui-switch" type="checkbox" value="1" ...

评论列表

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

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

发表评论

访客

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