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的最佳方法分享
Oct 21 Javascript
跟我学习javascript的Date对象
Nov 19 Javascript
JavaScript判断按钮被点击的方法
Dec 13 Javascript
javascript+HTML5自定义元素播放焦点图动画
Feb 21 Javascript
js实现兼容PC端和移动端滑块拖动选择数字效果
Feb 16 Javascript
Vue响应式原理详解
Apr 18 Javascript
Vue ElementUI之Form表单验证遇到的问题
Aug 21 Javascript
360doc网站不登录就无法复制内容的解决方法
Jan 27 Javascript
Vue 路由 过渡动效 数据获取方法
Jul 31 Javascript
微信JSSDK实现打开摄像头拍照再将相片保存到服务器
Nov 15 Javascript
vue过滤器实现日期格式化的案例分析
Jul 02 Javascript
Vue实现手机号、验证码登录(60s禁用倒计时)
Dec 19 Vue.js
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
Dedecms常用函数解析
2008/02/01 PHP
关于php程序报date()警告的处理(date_default_timezone_set)
2013/10/22 PHP
Smarty中调用FCKeditor的方法
2014/10/27 PHP
Yii框架where查询用法实例分析
2019/10/22 PHP
js操作select控件的几种方法
2010/06/02 Javascript
jquery 学习之一 对象访问
2010/11/23 Javascript
javascript中的作用域scope介绍
2010/12/28 Javascript
jQuery使用hide方法隐藏元素自身用法实例
2015/03/30 Javascript
JavaScript DOM进阶方法
2015/04/13 Javascript
jQuery团购倒计时特效实现方法
2015/05/07 Javascript
JS实现横向拉伸动感伸缩菜单效果代码
2015/09/04 Javascript
纯js代码制作的网页时钟特效【附实例】
2016/03/30 Javascript
Bootstrap实现input控件失去焦点时验证
2016/08/04 Javascript
vue2.x+webpack快速搭建前端项目框架详解
2017/11/30 Javascript
30分钟精通React今年最劲爆的新特性——React Hooks
2019/03/11 Javascript
vue实现简单的日历效果
2020/09/24 Javascript
webpack的pitching loader详解
2019/09/23 Javascript
Python2和Python3中print的用法示例总结
2017/10/25 Python
Python网络编程使用select实现socket全双工异步通信功能示例
2018/04/09 Python
Python操作mongodb数据库进行模糊查询操作示例
2018/06/09 Python
Python实现ElGamal加密算法的示例代码
2020/06/19 Python
canvas像素点操作之视频绿幕抠图
2018/09/11 HTML / CSS
Columbia Sportswear法国官网:全球户外品牌
2020/09/25 全球购物
EJB需直接实现它的业务接口或Home接口吗,请简述理由
2016/11/23 面试题
大学生个人求职信范文
2013/09/21 职场文书
电子信息专业学生自荐信
2013/11/09 职场文书
计算机专业毕业生自荐信范文
2014/03/06 职场文书
商务助理求职信范文
2014/04/20 职场文书
班级文化标语
2014/06/23 职场文书
教师四风问题整改措施
2014/09/25 职场文书
学生犯错保证书
2015/05/09 职场文书
Go 自定义package包设置与导入操作
2021/05/06 Golang
mysql 8.0.24 安装配置方法图文教程
2021/05/12 MySQL
springboot @ConfigurationProperties和@PropertySource的区别
2021/06/11 Java/Android
SQL实现LeetCode(177.第N高薪水)
2021/08/04 MySQL
Javascript中async与await的捕捉错误详解
2022/03/03 Javascript