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魔力之$("tagName")与selector
Mar 05 Javascript
jquery统计用户选中的复选框的个数
Jun 06 Javascript
一个JavaScript去除字符串末尾的空白实例代码
Sep 22 Javascript
jQuery实现带有动画效果的回到顶部和底部代码
Nov 04 Javascript
Bootstrap树形组件jqTree的简单封装
Jan 25 Javascript
利用jQuery插件imgAreaSelect实现获得选择域的图像信息
Dec 02 Javascript
bootstrap实现的自适应页面简单应用示例
Mar 09 Javascript
微信JSAPI Ticket接口签名详解
Jun 28 Javascript
react实现同页面三级跳转路由布局
Sep 26 Javascript
js判断浏览器的环境(pc端,移动端,还是微信浏览器)
Dec 24 Javascript
vue 点击其他区域关闭自定义div操作
Jul 17 Javascript
解决ant-design-vue中menu菜单无法默认展开的问题
Oct 31 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
用PHP和ACCESS写聊天室(八)
2006/10/09 PHP
PHP 获取远程文件大小的3种解决方法
2013/07/11 PHP
PHP测试框架PHPUnit组织测试操作示例
2018/05/28 PHP
Laravel框架在本地虚拟机快速安装的方法详解
2018/06/11 PHP
javascript操作cookie_获取与修改代码
2009/05/21 Javascript
javascript中文本框中输入法切换的问题
2013/12/10 Javascript
深入理解javascript的执行顺序
2014/04/04 Javascript
比例尺、缩略图、平移缩放之百度地图添加控件方法
2015/08/03 Javascript
使用控制台破解百小度一个月只准改一次名字
2015/08/13 Javascript
Javascript函数式编程简单介绍
2015/10/11 Javascript
[原创]Bootstrap 中下拉菜单修改成鼠标悬停直接显示
2016/04/14 Javascript
深入浅析JavaScript中的Function类型
2016/07/09 Javascript
AngularJs Modules详解及示例代码
2016/09/01 Javascript
浅谈Javascript中的Label语句
2016/12/14 Javascript
jQuery Ajax实现跨域请求
2017/01/21 Javascript
JavaScript中从setTimeout与setInterval到AJAX异步
2017/02/13 Javascript
教你完全理解ReentrantLock重入锁
2019/06/03 Javascript
为vue项目自动设置请求状态的配置方法
2019/06/09 Javascript
vue实现随机验证码功能(完整代码)
2019/12/10 Javascript
js实现特别简单的钟表效果
2020/09/14 Javascript
Vue常用API、高级API的相关总结
2021/02/02 Vue.js
[52:06]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
Python语言编写电脑时间自动同步小工具
2013/03/08 Python
Python中遇到的小问题及解决方法汇总
2017/01/11 Python
Python实现对象转换为xml的方法示例
2017/06/08 Python
python实现自动发送邮件发送多人、群发、多附件的示例
2018/01/23 Python
Android本地应用打开方法——通过html5写连接
2016/03/11 HTML / CSS
小狗电器官方商城:中国高端吸尘器品牌
2017/03/29 全球购物
德国50岁以上交友网站:Lebensfreunde
2020/03/18 全球购物
大学生标准推荐信范文
2013/11/25 职场文书
房屋出租协议书
2014/04/10 职场文书
领导班子整改方案
2014/10/25 职场文书
英语通知范文
2015/04/22 职场文书
24句精辟的现实社会语录,句句扎心,道尽人性
2019/08/29 职场文书
Unity连接MySQL并读取表格数据的实现代码
2021/06/20 MySQL
MYSQL如何查看操作日志详解
2022/05/30 MySQL