(转)javascrit中的uriencode
遇到一个需要用Javascript将文字转换成asp中的urlencode编码
网上查到的全都是escape,和需要的编码不是一回事,好不容易找到的结果 保存下来以备以后使用
js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent
1、 传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。
例如:<script language="javascript">document.write('<a href="http://passport.baidu.com/?logout&aid=7&u= +encodeURIComponent("http://cang.baidu.com/bruce42")+">退出</a>');</script>
2、 进行url跳转时可以整体使用encodeURI
例如:Location.href=encodeURI("http://cang.baidu.com/do/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
转载于:https://www.cnblogs.com/jackyrong/archive/2008/08/11/1264838.html
(转)javascrit中的uriencode相关推荐
- GNU Make 使用手册(于凤昌中译版)
GNU Make 使用手册(中译版) 翻译:于凤昌 GNU make Version 3.79 April 2000 Richard M. Stallman and Roland McGrath 1 ...
- 从零开始学Node.js(二)
1. 核心模块 fs ==> file system 文件系统 表示对文件的操作: 在windows中一切都是文件2. ★★★回调函数:已函数作为参数的函数就是回调函数!★★★★★★★★★★★★ ...
- this全面解析(二)
在上一节中我们详细介绍了this的两种绑定方式,默认绑定和隐式绑定,在这一节我们继续介绍this的另外两种绑定方式显示绑定和new绑定.那么,我们要解决的问题当然就是上一节中我们提到的:this丢失! ...
- XSS跨站脚本攻击(level1-10)
前言 作者简介:不知名白帽,网络安全学习者. 博客主页:https://blog.csdn.net/m0_63127854?type=blog CTF专栏:https://blog.csdn.net/ ...
- 面试:第十二章:所有总结
Java基础 java基本类型哪些,所占字节 byte :1个字节 short :2个字节 char :2个字节 int :4个字节 long :8个字节 float :4个字节 double :8个 ...
- linux内核分析(转自某位大哥网上的笔记)
启动 当PC启动时,Intel系列的CPU首先进入的是实模式,并开始执行位于地址0xFFFF0处的代码,也就是ROM-BIOS起始位置的代码.BIOS先进行一系列的系统自检,然后初始化位于地址0的中断 ...
- 「译」有限状态机在 CSS 动画中的应用
原文地址:css-animations-with-finite-state-machines 原文作者:David Khourshid 译文出自:阿里云翻译小组 译文链接:github.com/daw ...
- C# 中Excel导出,可以自由设置导出的excel格式
Excel导出,不管在java,C#等后台语言,或者是javascrit,jquery等脚本语言,有很多种方式都可以将查出的数据导成excel的格式.我这次是从公司的一个同事那里学来的一个方法.是有关 ...
- 为.net中的ListBox控件添加双击事件
我在用dotnet做一个项目的过程中,遇到了一个ListBox的问题:通过在一个ListBox中双击,把选中的项添加到另一个ListBox中,但ListBox控件本身并没有该事件,那么如何实现呢?我就 ...
最新文章
- JAVA多线程中join()方法的详细分析
- 同步和异步GET,POST请求
- GIS创新实践【实验1】郑州市地图制作与发布
- OpenGL屏幕空间环境光遮挡
- 10 道关于 Java 泛型的面试题
- JavaScript-Map和Set
- 如何整一个厉害的产品slogan?
- java 后台自动刷新请求_spring oauth2+JWT后端自动刷新access_token
- 【C】C99 restrict 关键字
- 通过脚本执行sql语句
- 使用C#或C++语言实现微信自动加好友的功能(附接口SDK及源码)
- Java如何提高poi的user模式解析excel大小上限
- 理解Monitor监视器锁原理
- 腾科张老师教你如何在cisco路由器上部署和使用FTP/TFTP
- Linux的简单命令 who echo cal clear date
- Python之PIL图片操作
- 4.5/4.6 磁盘格式化 4.7/4.8 磁盘挂载 4.9 手动增加swap空间
- GSoC 2022 Blender VSE: 第一周总结
- 李宏毅2021/2022春机器学习课程(机器学习基本概念简介)
- mysql导出gkb_mysql高效导入导出工具之mydumper
热门文章
- Unity3D基础38:角色控制器组件
- bzoj 3385: [Usaco2004 Nov]Lake Counting 数池塘(DFS)
- bzoj 2502: 清理雪道(有下界的最小流)
- 线性基(bzoj 2460: [BeiJing2011]元素)
- bzoj 1032: [JSOI2007]祖码Zuma(区间DP)
- “玲珑杯”郑州轻工业学院第八届ACM程序设计大赛Problem G: 蛤玮点菜
- python机器学习库sklearn——多类、多标签、多输出
- matlab2c使用c++实现matlab函数系列教程-sawtooth函数
- 《基于CapsNet的汉字字形表征模型》文章理解
- 01-vue项目之滚动加载数据