javascript字符串进行编码的方法:escape编码、encodeURI编码、encodeURIComponent编码

时间: 2017-12-14阅读: 1719标签: 字符串

1.escape();

语法
escape(string) // string 必需。要被转义或编码的字符串。
返回值
已编码的 string 的副本。其中某些字符被替换成了十六进制的转义序列。
说明:
该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码:** * @ - _ + . / **
解码:
unescape();
提示:
ECMAScript v3 反对使用该方法,用 encodeURI() 和 encodeURIComponent() 替代它。但是如果想转义单引号,用这个就蛮好的。
例子

console.log(escape("Visit W3School!"))  //Visit%20W3School%21
console.log(escape("?!=()#%&")) //%3F%21%3D%28%29%23%25%26
console.log(escape("*@-_+./"))  //*@-_+./
console.log(escape("'"))    //%27


2.encodeURI();

语法
encodeURI(URIstring) // URIstring 必需。一个字符串,含有 URI 或其他要编码的文本。
返回值:
已编码的 URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。
说明:
该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码:** - _ . ! ~ * ' ( ) **
该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/?:@&=+$,#
提示:
如果 URI 组件中含有分隔符,比如 ? 和 #,则应当使用 encodeURIComponent() 方法分别对各组件进行编码。
例子:

console.log(encodeURI("http://www.w3school.com.cn"))    //http://www.w3school.com.cn
console.log(encodeURI("http://www.w3school.com.cn/yzb/"))   //http://www.w3school.com.cn/yzb/
console.log(encodeURI(";/?:@&=+$,#"))   //;/?:@&=+$,#
console.log(encodeURI("-_.!~*'()")) //-_.!~*'()
console.log(encodeURI(" ")) //%20


3.encodeURIComponent();

语法:
encodeURIComponent(URIstring) // URIstring 必需。一个字符串,含有 URI 组件或其他要编码的文本。
返回值:
已编码的 URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。
说明:
该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: ** - _ . ! ~ * ' ( ) **
其他字符(比如:** ;/?:@&=+$,# ** 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。
提示:
请注意 encodeURIComponent() 函数 与 encodeURI() 函数的区别之处,前者假定它的参数是 URI 的一部分(比如协议、主机名、路径或查询字符串)。因此 encodeURIComponent() 函数将转义用于分隔 URI 各个部分的标点符号。
例子:

console.log(encodeURIComponent("http://www.w3school.com.cn"))   //http%3A%2F%2Fwww.w3school.com.cn
console.log(encodeURIComponent("http://www.w3school.com.cn/yzb/"))  //http%3A%2F%2Fwww.w3school.com.cn%2Fyzb%2F
console.log(encodeURIComponent(";/?:@&=+$,#"))  //%3B%2F%3F%3A%40%26%3D%2B%24%2C%23
console.log(encodeURIComponent("-_.!~*'()"))    //-_.!~*'()
console.log(encodeURIComponent(" "))    //%20
站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

链接: http://www.fly63.com/article/detial/249

js字符串方法

查找字符串的位置(找到返回字符串首字母的位置,找不到返回-1):截取字符串:slice、substring、substr比较;替换字符串内容;转化为大写或小写;连接两个字符串或多个concat()

JS/CSS实现字符串单词首字母大写

正则表达式b会把英文缩写,譬如m拆分成两个部分,导致输出为所以不能使用b ;b匹配一个单词边界,也就是指单词和空格间的位置;w:匹配包括下划线的任何单词字符;*:匹配前面的子表达式零次或多次

javascript如何将字符串转成字符串数组?

javascript如何将字符串转成字符串数组?下面本篇文章就来给大家介绍一下使用javascript将字符串转换成字符串数组的方法,希望对大家有所帮助。

10个JavaScript 字符串技巧

字符串是几乎所有编程语言中最基本的数据类型之一。同时,它也是新开发人员学习的最早的数据类型之一。然而,尤其是在JavaScript中,许多开发人员并不知道关于字符串的一些有趣的细节。希望此文对你有所帮助。

Js实现LeetCode49. 字母异位词分组

给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。说明:所有输入均为小写字母。不考虑答案输出的顺序。

JS数组转字符串方法总汇

JavaScript 允许数组与字符串之间相互转换。其中 Array 方法对象定义了 3 个方法,可以把数组转换为字符串,如表所示。

js替换所有出现的字符串

使用replace似乎只删除了abc上面字符串中第一次出现的。我怎样才能替换它的所有出现?下面介绍4种替换所有出现字符串的方法。

用JavaScript带你体验V8引擎解析字符串过程

AST模块其实要写的话,100篇都写不完,我将一些简单知识点翻译成JavaScript代码来进行讲解(v8内部的复杂性永远都能超出我的意料,现在看到万行的源码都已经没感觉了),如果谁想看C++源码,就去翻我前面的流水账

js截取字符串相关的知识点

截取字符串中的数字:parseInt()方法参数可以有非数字字符串,只要数字在字符串前面就可以;使用正则。截取字符串:使用split()功能:使用指定的分隔符,将字符串切割,并且存储到数组里

JavaScript 字符串实用方法总汇

JavaScript 字符串用于存储和处理文本。因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种不同 Date 时,诸此等等,繁不能数;

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!