js编码之encodeURIComponent使用介绍(asp,php)


Posted in Javascript onMarch 01, 2012

因为要新作系统,因此对于JS脚本又重新研究了一下。在对新的URL编码的时候发现,网页编码的格式对于JS的影响很大,在这里书写一点。

{var B=siteUrl+this.actionUrl+(this.type==="all"?"":this.type)+"&SearchWord="+encodeURIComponent(A).replace(/'/g,"%27");$redirect(B)}}

在制作的时候,发现传出去的数据包的编码全部是UTF-8格式的,而在改正网页编码后也同样没有反映,最后在修改了ENCODE成DECODE方式才解决问题。

js 对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent

1、 传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。

例如:

2、 进行url跳转时可以整体使用encodeURI

例如:Location.href="/encodeURI"("https://3water.com/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

Javascript 相关文章推荐
asp 的 分词实现代码
May 24 Javascript
jQuery 动画基础教程
Dec 25 Javascript
firefox下jQuery UI Autocomplete 1.8.*中文输入修正方法
Sep 19 Javascript
js中的cookie的读写操作示例详解
Apr 17 Javascript
js+css实现tab菜单切换效果的方法
Jan 20 Javascript
JS基于MSClass和setInterval实现ajax定时采集信息并滚动显示的方法
Apr 18 Javascript
Vue.js路由组件vue-router使用方法详解
Dec 02 Javascript
深究AngularJS——ng-checked(回写:带真实案例代码)
Jun 13 Javascript
javascript ES6 新增了let命令使用介绍
Jul 07 Javascript
Vue-cli3项目配置Vue.config.js实战记录
Jul 29 Javascript
在vue中获取微信支付code及code被占用问题的解决方法
Apr 16 Javascript
js实现3D粒子酷炫动态旋转特效
Sep 13 Javascript
js FLASH幻灯片字符串中有连接符&的处理方法
Mar 01 #Javascript
JavaScript高级程序设计 读书笔记之十 本地对象Date日期
Feb 27 #Javascript
JavaScript高级程序设计 读书笔记之九 本地对象Array
Feb 27 #Javascript
JavaScript高级程序设计 读书笔记之八 Function类及闭包
Feb 27 #Javascript
JavaScript高级程序设计 阅读笔记(七) ECMAScript中的语句
Feb 27 #Javascript
JavaScript高级程序设计阅读笔记(六) ECMAScript中的运算符(二)
Feb 27 #Javascript
JavaScript高级程序设计阅读笔记(五) ECMAScript中的运算符(一)
Feb 27 #Javascript
You might like
php实现过滤字符串中的中文和数字实例
2015/07/29 PHP
PHP数据库处理封装类实例
2016/12/24 PHP
PDO::exec讲解
2019/01/28 PHP
实现连缀调用的map方法(prototype)
2009/08/05 Javascript
node.js中的buffer.Buffer.byteLength方法使用说明
2014/12/10 Javascript
js结合正则实现国内手机号段校验
2015/06/19 Javascript
jQuery采用连缀写法实现的折叠菜单效果
2015/09/18 Javascript
如何利用AngularJS打造一款简单Web应用
2015/12/05 Javascript
深入浅析AngularJS和DataModel
2016/02/16 Javascript
三种带箭头提示框总结实例
2016/06/14 Javascript
js实现对table的增加行和删除行的操作方法
2016/10/13 Javascript
前端实现文件的断点续传(前端文件提交+后端PHP文件接收)
2016/11/04 Javascript
jstree的简单实例
2016/12/01 Javascript
JS HTML图片显示Canvas 压缩功能
2017/07/21 Javascript
JavaScript变量类型以及变量作用域详解
2017/08/14 Javascript
Vue2.0父组件与子组件之间的事件发射与接收实例代码
2017/09/19 Javascript
layer更改皮肤的实现方法
2019/09/11 Javascript
layer iframe 设置关闭按钮的方法
2019/09/12 Javascript
Vue发布订阅模式实现过程图解
2020/04/30 Javascript
[54:27]TNC vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[02:29]大剑、皮鞭、女装,这届DOTA2勇士令状里都有
2020/07/17 DOTA
python实现超简单的视频对象提取功能
2018/06/04 Python
Python get获取页面cookie代码实例
2018/09/12 Python
cProfile Python性能分析工具使用详解
2019/07/22 Python
twilio python自动拨打电话,播放自定义mp3音频的方法
2019/08/08 Python
Linux安装Python3如何和系统自带的Python2并存
2020/07/23 Python
python 实现汉诺塔游戏
2020/11/28 Python
IWOOT美国:新奇的小玩意
2018/04/27 全球购物
英国领先的体验日提供商:Buyagift
2019/04/19 全球购物
应届大学毕业生找工作的求职信范文
2013/11/29 职场文书
合作经营协议书范本
2014/04/17 职场文书
公司租房协议书
2014/10/14 职场文书
学习经验交流会演讲稿
2015/11/02 职场文书
超详细Python解释器新手安装教程
2021/05/10 Python
使用@Value值注入及配置文件组件扫描
2021/07/09 Java/Android
HTML怎么设置下划线?html文字加下划线方法
2021/12/06 HTML / CSS