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 相关文章推荐
JS对外部文件的加载及对IFRMAME的加载的实现,当加载完成后,指定指向方法(方法回调)
Jul 04 Javascript
jquery实现div拖拽宽度示例代码
Jul 31 Javascript
JavaScript中的标签语句用法分析
Feb 10 Javascript
js实现九宫格图片半透明渐显特效的方法
Feb 16 Javascript
js图片上传前预览功能(兼容所有浏览器)
Aug 24 Javascript
谈谈JavaScript的New关键字
Aug 26 Javascript
详解js运算符单竖杠“|”与“||”的用法和作用介绍
Nov 04 Javascript
Bootstrap 3.x打印预览背景色与文字显示异常的解决
Nov 06 Javascript
vue.js 使用v-if v-else发现没有执行解决办法
May 15 Javascript
Vue实现移动端页面切换效果【推荐】
Nov 13 Javascript
ES6的异步终极解决方案分享
Jul 11 Javascript
js实现鼠标拖拽div左右滑动
Jan 15 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
德生BCL3000的电路分析和打磨
2021/03/02 无线电
php去除换行(回车换行)的三种方法
2014/03/26 PHP
Laravel如何使用Redis共享Session
2018/02/23 PHP
JQuery this 和 $(this) 的区别
2009/08/23 Javascript
模仿JQuery.extend函数扩展自己对象的js代码
2009/12/09 Javascript
JavaScript 学习笔记(六)
2009/12/31 Javascript
20行代码实现的一个CSS覆盖率测试脚本
2013/07/07 Javascript
javascript在当前窗口关闭前检测窗口是否关闭
2014/09/29 Javascript
jQuery EasyUI 菜单与按钮之创建简单的菜单和链接按钮
2015/11/18 Javascript
js数组实现权重概率分配
2017/09/12 Javascript
微信小程序之GET请求的实例详解
2017/09/29 Javascript
js点击时关闭该范围下拉菜单之外的菜单方法
2018/01/11 Javascript
vue+webpack实现异步组件加载的方法
2018/02/03 Javascript
Vue完整项目构建(进阶篇)
2018/02/10 Javascript
Vue刷新修改页面中数据的方法
2018/09/16 Javascript
js html实现计算器功能
2018/11/13 Javascript
nodejs使用async模块同步执行的方法
2019/03/02 NodeJs
详解JavaScript对数组操作(添加/删除/截取/排序/倒序)
2019/04/28 Javascript
echarts多条折线图动态分层的实现方法
2019/05/24 Javascript
[07:27]DOTA2卡尔工作室 英雄介绍水晶室女篇
2013/06/21 DOTA
Python中map和列表推导效率比较实例分析
2015/06/17 Python
Python实现截屏的函数
2015/07/25 Python
简单实现python爬虫功能
2015/12/31 Python
python实现二级登陆菜单及安装过程
2019/06/21 Python
Flask框架学习笔记之路由和反向路由详解【图文与实例】
2019/08/12 Python
美国购车网站:TrueCar
2016/10/19 全球购物
授权委托书(法人单位用)
2014/09/29 职场文书
高中班主任评语
2014/12/30 职场文书
幼师辞职信范文
2015/02/27 职场文书
培训讲师开场白
2015/06/01 职场文书
爱国电影观后感
2015/06/19 职场文书
三年级作文之小小梦想
2019/12/06 职场文书
MySQL kill不掉线程的原因
2021/05/07 MySQL
Python中json.load()和json.loads()有哪些区别
2021/06/07 Python
Redis读写分离搭建的完整步骤
2021/09/14 Redis
vue实现滑动解锁功能
2022/03/03 Vue.js