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 相关文章推荐
jquery插件 cluetip 关键词注释
Jan 12 Javascript
js判断文本框剩余可输入字数的方法
Feb 04 Javascript
jquery实现用户信息修改验证输入方法汇总
Jul 18 Javascript
json实现添加、遍历与删除属性的方法
Jun 17 Javascript
Webpack+Vue如何导入Jquery和Jquery的第三方插件
Feb 20 Javascript
vue2.0的虚拟DOM渲染思路分析
Aug 09 Javascript
详解JS转换数值函数Number()、parseInt()、parseFloat()
Aug 24 Javascript
微信小程序移动拖拽视图-movable-view实例详解
Aug 17 Javascript
微信小程序实现页面浮动导航
Jan 08 Javascript
vue中使用v-for时为什么不能用index作为key
Apr 04 Javascript
原生jQuery实现只显示年份下拉框
Dec 24 jQuery
详解JS数组方法
Nov 20 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
PHP5 安装方法
2006/10/09 PHP
PHP的开合式多级菜单程序
2006/10/09 PHP
php面向对象全攻略 (八)重载新的方法
2009/09/30 PHP
wordpress安装过程中遇到中文乱码的处理方法
2015/04/21 PHP
Apache无法自动跳转却显示目录的解决方法
2020/11/30 PHP
PHP用户注册邮件激活账户的实现代码
2017/05/31 PHP
Thinkphp自定义生成缩略图尺寸的方法
2019/08/05 PHP
PHP 对象继承原理与简单用法示例
2020/04/21 PHP
获取元素距离浏览器周边的位置的方法getBoundingClientRect
2013/04/17 Javascript
加载远程图片时,经常因为缓存而得不到更新的解决方法(分享)
2013/06/26 Javascript
jqGrid日期格式的判断示例代码(开始日期与结束日期)
2013/11/08 Javascript
js实现ifram取父窗口URL地址的方法
2015/02/09 Javascript
JavaScript实现文字与图片拖拽效果的方法
2015/02/16 Javascript
JS实现网页标题随机显示名人名言的方法
2015/11/03 Javascript
JS简单封装的图片无缝滚动效果示例【测试可用】
2017/03/22 Javascript
vue-resource拦截器设置头信息的实例
2017/10/27 Javascript
JS 中document.write()的用法和清空的原因浅析
2017/12/04 Javascript
Vue中父子组件通讯之todolist组件功能开发
2018/05/21 Javascript
详解Vue微信授权登录前后端分离较为优雅的解决方案
2018/06/29 Javascript
vue实现输入框的模糊查询的示例代码(节流函数的应用场景)
2019/09/01 Javascript
Python聚类算法之凝聚层次聚类实例分析
2015/11/20 Python
Python 获取当前所在目录的方法详解
2017/08/02 Python
Python3 中文文件读写方法
2018/01/23 Python
Python3实现购物车功能
2018/04/18 Python
Python 将Matrix、Dict保存到文件的方法
2018/10/30 Python
Python程序控制语句用法实例分析
2020/01/14 Python
django实现HttpResponse返回json数据为中文
2020/03/27 Python
新西兰领先的内衣店:Bendon Lingerie新西兰
2018/07/11 全球购物
俄罗斯建筑和装饰材料在线商店:Stroilandia
2020/07/25 全球购物
比较基础的php面试题及答案-填空题
2014/04/26 面试题
CNC数控操作工岗位职责
2013/11/19 职场文书
我有一个梦想演讲稿
2014/05/05 职场文书
检察院对照“四风”认真查找问题落实整改措施
2014/09/26 职场文书
2014年工程师工作总结
2014/11/25 职场文书
浅谈spring boot使用thymeleaf版本的问题
2021/08/04 Java/Android
GO语言异常处理分析 err接口及defer延迟
2022/04/14 Golang