关闭

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

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

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如何截取字符串最后一位

运用String对象下的charAt方法,charAt() 方法可返回指定位置的字符。请注意,JavaScript 并没有一种有别于字符串类型的字符数据类型,所以返回的字符是长度为 1 的字符串

JS判断字符串小括号是否成对合法

要判断()是否成对;运用栈的后进先出 的特点,定义一个空数组,作为栈;for循环遍历字符串,当遇到(的时候就把(添加到空数组最顶端,push方法,记录发现一个左括号;

js字符串方法

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

JS通过身份证号码获取出生年月日和性别

String.substr(start,length) -- start,开始截取下标 length,截取的长度 ;String.replace(/(.{4})(.{2})/,\"$1-$2-\"); --正则,$1-,$2- 分别是引用,前面正则匹配到的字符串

js如何截取字符串后几位?

javascript截取字符串的方法有substring(start,stop)、substr(start,length)、slice(start,end),通过设置其中参数就可以截取字符串后几位。

Js替换字符串的几种方法

替换字符串中的文本是 JavaScript 中的常见任务。本文研究几种用 replace 和正则表达式替换文本的方法。通常 JavaScript 的 String replace() 函数只会替换它在字符串中找到的第一个匹配的子符

字符串的格式化功能的实现_js实现连接字符串及变量

在开发中过程中,经常会遇到使用占位符的形式来格式化字符串,我们通过js扩展String.prototype.format字符串拼接的功能,实现如下:

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

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

js 字符串比较大小

数值是合乎常理的操作,其实字符串也可以比较大小;两个字符串比较大小,比较的是组成它们字符的ASCII码的大小,比较原则如下:比较的是字符的ASCII码的大小。

JavaScript计算字符串所占字节数

最近项目有个需求要用js计算一串字符串写入到localStorage里所占的内存,众所周知的,js是使用Unicode编码的。而Unicode的实现有N种,其中用的最多的就是UTF-8和UTF-16。

点击更多...

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