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英文日期(有时间)选择器
May 02 Javascript
javascript开发中因空格引发的错误
Nov 08 Javascript
jquery动态添加删除div 具体实现
Jul 20 Javascript
JS Replace 全部替换字符的用法小结
Dec 24 Javascript
jQuery设置与获取HTML,文本和值的简单实例
Feb 26 Javascript
JavaScript常用脚本汇总(一)
Mar 04 Javascript
jquery表单验证插件formValidator使用方法
Apr 01 Javascript
jQuery对象的链式操作用法分析
May 10 Javascript
js 获取经纬度的实现方法
Jun 20 Javascript
vue-cli+webpack记事本项目创建
Apr 01 Javascript
基于vue写一个全局Message组件的实现
Aug 15 Javascript
小程序实现上下切换位置
Nov 16 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
在mysql数据库原有字段后增加新内容
2009/11/26 PHP
MySQL 日期时间函数常用总结
2012/06/12 PHP
php通过curl模拟登陆DZ论坛
2015/05/11 PHP
PHP工厂模式、单例模式与注册树模式实例详解
2019/06/03 PHP
thinkPHP框架乐观锁和悲观锁实例分析
2019/10/30 PHP
ThinkPHP5.1的权限控制怎么写?分享一个AUTH权限控制
2021/03/09 PHP
JavaScript 对Cookie 操作的封装小结
2009/12/31 Javascript
ASP.NET jQuery 实例7 通过jQuery来获取DropDownList的Text/Value属性值
2012/02/03 Javascript
javascript模拟select,jselect的方法实现
2012/11/08 Javascript
js获取select默认选中的Option并不是当前选中值
2014/05/07 Javascript
原生javascript实现图片按钮切换
2015/01/12 Javascript
Jquery网页内滑动缓冲导航的实现代码
2015/04/05 Javascript
jquery+ajax实现注册实时验证实例详解
2015/12/08 Javascript
JS中多种方式创建对象详解
2016/03/22 Javascript
Bootstrap每天必学之弹出框(Popover)插件
2016/04/25 Javascript
JS写XSS cookie stealer来窃取密码的步骤详解
2017/11/20 Javascript
webpack4.x下babel的安装、配置及使用详解
2019/03/07 Javascript
一文搞懂ES6中的Map和Set
2019/05/20 Javascript
Vue 中可以定义组件模版的几种方式
2019/08/06 Javascript
详解vue父子组件状态同步的最佳方式
2020/09/10 Javascript
[01:15]PWL S2开团时刻第二期——他们杀 我就白给
2020/11/25 DOTA
Python随机生成彩票号码的方法
2015/03/05 Python
用Python实现通过哈希算法检测图片重复的教程
2015/04/02 Python
python开发简易版在线音乐播放器
2017/03/03 Python
python web.py开发httpserver解决跨域问题实例解析
2018/02/12 Python
Python大数据之使用lxml库解析html网页文件示例
2019/11/16 Python
python十进制转二进制的详解
2020/02/07 Python
French Connection官网:女装、男装及家居用品
2019/03/18 全球购物
StubHub美国:购买或出售您的门票
2019/07/09 全球购物
新西兰第一的行李箱网站:luggage.co.nz
2019/07/22 全球购物
英国在线滑雪板和冲浪商店:The Board Basement
2020/01/11 全球购物
J2ee常用的设计模式?说明工厂模式
2015/05/21 面试题
小学国庆节活动方案
2014/02/11 职场文书
单位消防安全责任书
2014/07/23 职场文书
爬山的活动方案
2014/08/16 职场文书
2015大学生实训报告
2014/11/05 职场文书