js页面传参中使用的编码和解码函数
2014-06-12 09:53
761 查看
js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent
1、 传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。
例如:<script language="javascript">document.write('<a href="http://passport.a.com/?logout&aid=7&u='+encodeURIComponent("http://cang.a.com/bruce42")+'">退出</a>');</script>
2、 进行url跳转时可以整体使用encodeURI
例如:Location.href=encodeURI("http://cang.a.com/do/s?word=百度&ct=21");
3、 js使用数据时可以使用escape
例如:搜藏中history纪录。
4、 escape对0-255以外的unicode值进行编码时输出%u****格式,其它情况下escape,encodeURI,encodeURIComponent编码结果相同。
最多使用的应为encodeURIComponent,它是将中文、韩文等特殊字符转换成utf-8格式的url编码,所以如果给后台传递参数需要使用encodeURIComponent时需要后台解码对utf-8支持(form中的编码方式和当前页面编码方式相同)
escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z
encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z
1、 传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。
例如:<script language="javascript">document.write('<a href="http://passport.a.com/?logout&aid=7&u='+encodeURIComponent("http://cang.a.com/bruce42")+'">退出</a>');</script>
2、 进行url跳转时可以整体使用encodeURI
例如:Location.href=encodeURI("http://cang.a.com/do/s?word=百度&ct=21");
3、 js使用数据时可以使用escape
例如:搜藏中history纪录。
4、 escape对0-255以外的unicode值进行编码时输出%u****格式,其它情况下escape,encodeURI,encodeURIComponent编码结果相同。
最多使用的应为encodeURIComponent,它是将中文、韩文等特殊字符转换成utf-8格式的url编码,所以如果给后台传递参数需要使用encodeURIComponent时需要后台解码对utf-8支持(form中的编码方式和当前页面编码方式相同)
escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z
encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z
相关文章推荐
- js编码、解码函数介绍及其使用示例
- js编码、解码函数介绍及其使用示例
- js编码、解码函数介绍及其使用示例
- JS Url传参 编码 解码
- js文字编码函数escape,encodeURI,encodeURIComponent 的使用
- js cookie 编码解码登录成功返回原页面
- Node.js中使用Buffer编码、解码二进制数据详解
- js函数在window.location.href跳转页面传参由于空格引发的一个小问题
- %25%37%DD 。。。上述形式不是乱码。 这是urlencoding。 你可以使用js内置的方法 encodeURIComponent进行编码, 而使用decodeURIComponent把上述形式再解码为普通字符
- js原生的url操作函数,及使用方法。(附:下边还有jquery对url里的中文解码函数)
- 在一个页面重复使用一个js函数的方法
- php解码js使用escape转码的函数
- java.net.URLEncoder和java.net.URLDecoder的使用和js 中编码(encode)和解码(decode)方法
- 在一个页面重复使用一个js函数的方法详解
- js 语法规则 全局函数global 可以直接用 ;javascript的编码和解码;字符串转数字
- JSF页面中使用js函数回调后台bean方法并获取返回值的方法
- A标签上使用onclick事件,js函数响应成功,单会刷新当前页面陷阱
- JS 编码 解码函数
- Node.js, 使用 Buffers 操作,编码、解码,二进制数据。
- Node.js中使用Buffer编码、解码二进制数据详解