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 相关文章推荐
javascript 解析url的search方法
Feb 09 Javascript
js 单击式的下拉菜单效果实例
Aug 13 Javascript
javascript实现div浮动在网页最顶上并带关闭按钮效果实例
Aug 13 Javascript
JavaScript初学者建议:不要去管浏览器兼容
Feb 04 Javascript
基于JavaScript实现文字超出部分隐藏
Feb 29 Javascript
JS随机打乱数组的方法小结
Jun 22 Javascript
jQuery实现左侧导航模块的显示与隐藏效果
Jul 04 Javascript
Vue.js第二天学习笔记(vue-router)
Dec 01 Javascript
require.js中的define函数详解
Jul 10 Javascript
iview给radio按钮组件加点击事件的实例
Sep 30 Javascript
解决angularjs WdatePicker ng-model的问题
Sep 13 Javascript
JavaScript中常用的3种弹出提示框(alert、confirm、prompt)
Nov 10 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
实现分十页分向前十页向后十页的处理
2006/10/09 PHP
php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法
2013/11/14 PHP
php上传中文文件名乱码问题处理方案
2015/02/03 PHP
thinkphp3.2实现上传图片的控制器方法
2016/04/28 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
2017/07/20 PHP
js语法学习之判断一个对象是否为数组
2014/05/13 Javascript
js编写贪吃蛇的小游戏
2020/08/24 Javascript
js实现文本框输入文字个数限制代码
2015/12/25 Javascript
使用Sticky组件实现带sticky效果的tab导航和滚动导航的方法
2016/03/22 Javascript
JS实用的带停顿的逐行文本循环滚动效果实例
2016/11/23 Javascript
webpack3之loader全解析
2017/10/26 Javascript
小程序如何构建骨架屏
2019/05/29 Javascript
python编程-将Python程序转化为可执行程序[整理]
2007/04/09 Python
Python的__builtin__模块中的一些要点知识
2015/05/02 Python
两个使用Python脚本操作文件的小示例分享
2015/08/27 Python
解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...
2017/10/01 Python
django js实现部分页面刷新的示例代码
2018/05/28 Python
编写多线程Python服务器 最适合基础
2018/09/14 Python
如何在django里上传csv文件并进行入库处理的方法
2019/01/02 Python
PyCharm中如何直接使用Anaconda已安装的库
2020/05/28 Python
python和JavaScript哪个容易上手
2020/06/23 Python
opencv 阈值分割的具体使用
2020/07/08 Python
python实现取余操作的简单实例
2020/08/16 Python
法国低价在线宠物商店:bitiba.fr
2020/07/03 全球购物
股份合作协议书范本
2014/04/14 职场文书
团日活动总结书
2014/05/08 职场文书
青年标兵事迹材料
2014/08/16 职场文书
2014年度党员自我评议
2014/09/13 职场文书
解除劳动合同协议书范本2014
2014/09/25 职场文书
就业导师推荐信范文
2015/03/27 职场文书
酒桌上的开场白
2015/06/01 职场文书
导游词之云南-元阳梯田
2019/10/08 职场文书
Nginx实现负载均衡的项目实践
2022/03/18 Servers
分析SQL窗口函数之排名窗口函数
2022/04/21 Oracle
优化Mysql查询的示例
2022/04/26 MySQL
MYSQL事务的隔离级别与MVCC
2022/05/25 MySQL