可用性JavaScript 1.5; JScript 5.5; ECMAScript v3 语法encodeURI(uri) 参数
返回值uri的副本,其中某些字符被十六进制的转义序列替换了。 抛出
描述encodeURI()是全局函数,返回参数uri的编码副本。ASCII的字母和数字不编码, 此外下面的ASCII标点符号也不编码: - _ . ! ~ * ' ( ) 因为encodeURI()的目的是给URl进行完整的编码,所以以下在URl中具有特殊含 义的ASCII标点符号也不转义: ; / ? : @ & = + $ , # uri中的其他字符都将转换成它的UTF—8编码字符,然后用十六进制的转义序列(形式为%xx)对生成的一个、两个或三个字节的字符编码,用它们替换uri中原有的字 符。在这种编码模式中,ASCII字符由一个%xx转义字符替换,在\u0080到\u07ff 之间编码的字符由两个转义序列替换,其他的16位Unicode字符由三个转义序列替 换。 如果使用该方法编码URl,应该确保URI组件(如查询字符串)中不含有URl分隔符,如?和#。如果组件中含有这些符号,应该用encodeURIComponent()方法分别 对各个组件编码。 用方法decodeURI()可以对该方法进行解码操作。在ECMAScriptv3之前,可以用 escape()和unescape()方法(反对使用)执行相似的编码解码操作。 示例// 返回 http://www.isp.com/app.cgi?arg1=1&arg2=hello%20world encodeURI("http://www.isp.com/app.cgi?arg1=1&arg2=hello world"); encodeURI("\u00a9"); // 版权字符编码为 %C2%A9 参阅decodeURI( ), decodeURIComponent( ), encodeURIComponent( ), escape( ), unescape( ) |