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

1549年前 (2016-01-07)javaScript4344

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

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

分享给朋友:

相关文章

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

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

js/jquery 日历控件及实例下载

js/jquery 日历控件及实例下载

实现日历控件效果:页面:<link href="${base}/resource/${profile.path}/css/lhgcalendar.css" rel="...

jquery 获取焦点

当文本框或下拉等必填时,如果没有输入就给予提示并使该文本框获得焦点!如果是js,对象.focus()即可。可是如果是jQuery, 这样$("#aa") 返回的就不是DOM对象而是...

表单用submit提交前增加校验

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

jquery.PrintArea.min.js实现打印实例

jquery.PrintArea.min.js实现打印实例

 jquery实现的打印功能大致跟浏览器自带的 Ctrl+P的 效果一样 一、效果图:全屏打印:局部打印:二、代码<html>   <head>...

评论列表

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

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

发表评论

访客

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