encodeURI(),encodeURIComponent()和escape()

encodeURI()方法:把URI字符串采用UTF-8编码格式转化成escape格式的字符串。

语法:

encodeURI(URIstring)


e.g

<pre name="code" class="javascript">var URL="http://www.new.com?name=Vincnet Zhong"
location.href=encodeURI(URL)
//编码后的URL为:http://www.new.com?name=Vincnet%20Zhong
 

返回值:

转换后的字符串

encodeURIComponent():与encodeURI()方法相比,转换更多的字符。

语法 

encodeURIComponent(URIstring)
返回值:
转换后的字符串

注意:无论如何,作为参数传递给这些方法的原字符串不会被改变。


encodeURI()对以下ASCII码在32到126之间的字符进行转换:
space " % < > [ \ ] ^ ` { | }

encodeURIComponent()对以下ASCII码在32到126之间的字符进行转换:

space " # $ % & +  ,  / : ; < = >? @  [ \ ] ^ ` { | }


注意:合成的URL再次经过encodeURI()的时候会有危险,因为编码字符中的百分号自身也会被编码。


encodeURI/encodeURIComponent是在javascript1.5之后引进的,escape则在javascript1.0版本就有。

如果为了向后兼容,需要用到escape()方法。


escape()方法编码的字符如下。

space ! " # $ % & ' ( )  ,   : ; < = > ? @  [ \ ] ^ ` { | } ~


然而在IE中,@符号不能通过escape()方法转换


P.S:

这些方法的命名使用了“URI”(Universal Resource Identifier,统一资源标识)。URI是包含了所有网络上可访问元素(文档,对象等)的引用。URL(Universal Resource Locator,统一资源定位器)是URI的一种,它包含元素的网络地址和访问机制的声明(如,http:)。对于大多数使用HTML,CSS,JavaScript的客户端Web制作,URI和URL的术语可以互换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值