我们可以知道:escape()除了 ASCII 字母、数字和特定的符号外,对传进来的字符串全部进行转义编码,因此如果想对URL编码,最好不要使用此方法。而encodeURI() 用于编码整个URI,因为URI中的合法字符都不会被编码转换。encodeURIComponent方法在编码单个URIComponent(指请求参数)应当是最常用的,它可以讲参数中的中文、特殊字符进行转义,而不会影响整个URL。

  请注意 encodeURIComponent() 函数 与 encodeURI() 函数的区别之处,前者假定它的参数是 URI 的一部分(比如协议、主机名、路径或查询字符串)。因此 encodeURIComponent() 函数将转义用于分隔 URI 各个部分的标点符号。

一、encodeURI()  //转义一个URI中的字符

  语法:encodeURI(uri)  //这个在编码不同的AJAX请求时,解决中文乱码问题经常用到。

        var str1 = "你好javascript";
var str2 = encodeURI(str1);
document.write(str2); //输出%E4%BD%A0%E5%A5%BDjavascript

二、decodeURI()  //解码一个URI中的字符

  语法:decodeURI(uri)

        var str1 = "你好javascript";
var str2 = encodeURI(str1);
document.write(str2); //输出%E4%BD%A0%E5%A5%BDjavascript
var str3 = decodeURI(str2);
document.write("<br/>" + str3) //输出 你好javascript

三、encodeURIComponent()  //转义URI组件中的字符

        var str1 = "你好javascript";
var str2 = encodeURIComponent(str1);
document.write(str2); //输出%E4%BD%A0%E5%A5%BDjavascript

四、decodeURIComponent()  //解码一个URI组件中的字符

        var str1 = "你好javascript";
var str2 = encodeURIComponent(str1);
document.write(str2); //输出%E4%BD%A0%E5%A5%BDjavascript
var str3 = decodeURIComponent(str2);
document.write("<br/>" + str3) //输出 你好javascript

五、escape()  //编码一个字符串

  语法:escape(value);

        var str = "javascript 你好";
var str1 = escape(str);
document.write(str1);  //javascript%20%u4F60%u597D

六、unecape()  //解码一个由escape()函数编码的字符串

        window.onload = function () {
var str = "javascript 你好";
var str1 = escape(str);
document.write(str1); //javascript%20%u4F60%u597D
var str2 = unescape(str1);
alert(str2);      //弹出 javascript你好
}

javascript之url转义escape()、encodeURI()和decodeURI()的更多相关文章

  1. javascript之url转义escape()、encodeURI()和decodeURI(),ifram父子传参参数有中文时出现乱码

    ifram父子传参参数有中文时出现乱码,可先在父级页面用encodeURI转义,在到子页面用进行decodeURI()解码 我们可以知道:escape()除了 ASCII 字母.数字和特定的符号外,对 ...

  2. javascript之url转义escape()、encodeURI()和encodeURIComponent()

    JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decod ...

  3. javascript进行url转义方法比较escape、encodeURI和encodeURIComponent

    escape会将除了 ASCII 字母.数字和特定的符号(* @ - _ + . /)以外的字符全部进行转义编码,因此如果想对URL编码,最好不要使用此方法,因为它会让你的URL变的不可读. 提示:E ...

  4. JavaScript中编码函数escape,encodeURI,encodeURIComponent

    第一:escape():对字符串进行编码,escape()不编码的字符:@*/+ 第二:encodeURI() 函数可把字符串作为 URI 进行编码.不会进行转义的:;/?:@&=+$,# 第 ...

  5. URL地址中中文乱码详解(javascript中encodeURI和decodeURI方法、java.net.URLDecoder.encode、java.net.URLDecoder.decode)

    引言: 在Restful类的服务设计中,经常会碰到需要在URL地址中使用中文作为的参数的情况,这种情况下,一般都需要正确的设置和编码中文字符信息.乱码问题就此产生了,该如何解决呢?且听本文详细道来. ...

  6. JS转义 escape()、encodeURI()、encodeURIComponent()区别详解

    JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decod ...

  7. JavaScript中有三个可以对字符串编码的函数,分别是: escape(),encodeURI(),encodeURIComponent()

    JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decod ...

  8. JavaScript中有对字符串编码的三个函数:escape,encodeURI,encodeURIComponent

    JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decod ...

  9. url的三个js编码函数escape(),encodeURI(),encodeURIComponent()简介

    url的三个js编码函数escape(),encodeURI(),encodeURIComponent()简介 2014年10月12日 16806次浏览 引子 浏览器URl地址,上网一定会用到,但是浏 ...

随机推荐

  1. C++关于strcpy等函数的安全版本

    如下程序: #include <iostream> using namespace std; int main() { ]; strcpy(ch1,"); } 在VS2012上面 ...

  2. Encode and Decode Strings 解答

    Question Design an algorithm to encode a list of strings to a string. The encoded string is then sen ...

  3. mook_百度百科

    mook_百度百科 mook

  4. poj 1759 Garland (二分搜索之其他)

    Description The New Year garland consists of N lamps attached to a common wire that hangs down on th ...

  5. 玩程序 之 一 . 字符串处理工具(可通过C#脚本扩展)

    平常喜欢写点小东西玩玩,既可以娱乐自己满足自己的虚荣心,又可以方便工作和学习,今天且拿出一个来,与大家一起分享!  1. 软件介绍 言归正传,先看看需求,有这样一串字符串 abc,def,ghi,jk ...

  6. Beans(dp,两次dp)

    Beans Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  7. 利用PHPExcel转Excel柱形图

    这在附还有一个转柱形图的效果及代码. 原PHP报表效果: 转成Excel后的效果: 附上代码: <? php /** * PHPExcel * * Copyright (C) 2006 - 20 ...

  8. Apple Swfit UI控件实现

    不下载你会懊悔的~~ 下载地址:https://github.com/HunkSmile/Swift.git // UILabel var label = UILabel(frame: self.vi ...

  9. 基于阿里云server搭建SVNserver

    基于阿里云server搭建SVNserver 本系列文章由ex_net(张建波)编写,转载请注明出处. http://blog.csdn.net/ex_net/article/details/8577 ...

  10. 设计模式之八:外观模式(Facade)

    外观模式: 为子系统中的一系列接口提供了一个统一的界面.外观模式定义了一个高层次的接口以使子系统更加easy使用. Provide a unified interface to a set of in ...