JavaScript中URL编码函数代码


Posted in Javascript onJanuary 11, 2011

以下是对变量值的URL编码总结 : 建议用encodeURIComponent() , GET 和POST方式都可以发送过去 。

JavaScript中存在几种对URL字符串进行编码的方法:escape(),encodeURI(),以及encodeURIComponent()。这几种编码所起的作用各不相同。

escape() 方法:
采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。
不会被此方法编码的字符: @ * / +

encodeURI() 方法:
把URI字符串采用UTF-8编码格式转化成escape格式的字符串。
不会被此方法编码的字符:! @ # $& * ( ) = : / ; ? + '

encodeURIComponent() 方法:
把URI字符串采用UTF-8编码格式转化成escape格式的字符串。与encodeURI()相比,这个方法将对更多的字符进行编码,比如 / 等字符。所以如果字符串里面包含了URI的几个部分的话,不能用这个方法来进行编码,否则 / 字符被编码之后URL将显示错误。
不会被此方法编码的字符:! * ( ) '
因此,对于中文字符串来说,如果不希望把字符串编码格式转化成UTF-8格式的(比如原页面和目标页面的charset是一致的时候),只需要使用 escape。如果你的页面是GB2312或者其他的编码,而接受参数的页面是UTF-8编码的,就要采用encodeURI或者 encodeURIComponent。

Javascript 相关文章推荐
解决 firefox 不支持 document.all的方法
Mar 12 Javascript
Mootools 1.2教程 事件处理
Sep 15 Javascript
chrome浏览器不支持onmouseleave事件的解决技巧
May 31 Javascript
jquery获取被勾选的checked(选中)的那一行的3列和4列的值
Jul 04 Javascript
JS 排序输出实现table行号自增前端动态生成的tr
Aug 13 Javascript
TypeScript 中接口详解
Jun 19 Javascript
jQuery实例—选项卡的简单实现(js源码和jQuery)
Jun 14 Javascript
EasyUi 打开对话框后控件赋值及赋值后不显示的问题解决办法
Jan 19 Javascript
详解vue 在移动端体验上的优化解决方案
May 20 Javascript
vue实现axios图片上传功能
Aug 20 Javascript
vue swipeCell滑动单元格(仿微信)的实现示例
Sep 14 Javascript
vue实现同时设置多个倒计时
May 20 Vue.js
Jquery跨域获得Json时invalid label错误的解决办法
Jan 11 #Javascript
JS无限树状列表实现代码
Jan 11 #Javascript
jQuery UI的Dialog无法提交问题的解决方法
Jan 11 #Javascript
JQuery 1.3.2以上版本中出现pareseerror错误的解决方法
Jan 11 #Javascript
Jquery中获取iframe的代码
Jan 11 #Javascript
基于jQuery的message插件实现右下角弹出消息框
Jan 11 #Javascript
基于jquery的cookie的用法
Jan 10 #Javascript
You might like
PHP中使用asort进行中文排序失效的问题处理
2014/08/18 PHP
Zend Framework教程之Zend_Config_Ini用法分析
2016/03/23 PHP
yii2 开发api接口时优雅的处理全局异常的方法
2019/05/14 PHP
实用javaScript技术-屏蔽类
2006/08/15 Javascript
js传值 判断
2006/10/26 Javascript
Javascript select下拉框操作常用方法
2009/11/09 Javascript
几个比较实用的JavaScript 测试及效验工具
2010/04/18 Javascript
javascript 通用loading动画效果实例代码
2014/01/14 Javascript
JQuery 实现在同一页面锚点链接之间的平滑滚动
2014/10/29 Javascript
jQuery中find()方法用法实例
2015/01/07 Javascript
js闭包实现按秒计数
2015/04/23 Javascript
AngularJS中实现动画效果的方法
2016/07/28 Javascript
JavaScript基于自定义函数判断变量类型的实现方法
2016/11/23 Javascript
使用Xcache缓存器加速PHP网站的配置方法
2017/04/22 Javascript
react-router4 嵌套路由的使用方法
2017/07/24 Javascript
JavaScript监听手机物理返回键的两种解决方法
2017/08/14 Javascript
详解Vuex管理登录状态
2017/11/13 Javascript
javascript少儿编程关于返回值的函数内容
2018/05/27 Javascript
JS动画实现回调地狱promise的实例代码详解
2018/11/08 Javascript
vue中的面包屑导航组件实例代码
2019/07/01 Javascript
[52:40]完美世界DOTA2联赛PWL S2 Magma vs GXR 第一场 11.29
2020/12/02 DOTA
[53:13]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第三场 1月18日
2021/03/11 DOTA
python读取TXT到数组及列表去重后按原来顺序排序的方法
2015/06/26 Python
详解K-means算法在Python中的实现
2017/12/05 Python
python脚本生成caffe train_list.txt的方法
2018/04/27 Python
python操作openpyxl导出Excel 设置单元格格式及合并处理代码实例
2019/08/27 Python
Python上下文管理器用法及实例解析
2019/11/11 Python
Django 路由层URLconf的实现
2019/12/30 Python
基于Python中random.sample()的替代方案
2020/05/23 Python
python绘制雷达图实例讲解
2021/01/03 Python
文秘专业大学生求职信
2013/11/10 职场文书
《再别康桥》教学反思
2014/02/12 职场文书
五一促销活动总结
2014/07/01 职场文书
学校安全教育月活动总结
2014/07/07 职场文书
2015年大学迎新工作总结
2015/07/16 职场文书
Apache Kafka 分区重分配的实现原理解析
2022/07/15 Servers