如果想通过get方法,提交中文 或 特殊字符等待参数(如&等 ),就须要使用js中的编码函数。
------------------------------------------------------------------------------------
encodeURI()
把URI字符串采用UTF-8编码格式转化成escape格式的字符串。
不会被此方法编码的字符:! @ # $& * ( ) = : / ; ? + ‘ 0-9,a-z,A-Z
如果你的页面是UTF-8编码,请使用encodeURI。
decodeURI()
解码由decodeURI函数编的码
------------------------------------------------------------------------------------
encodeURIComponent()
把URI字符串采用UTF-8编码格式转化成escape格式的字符串。与encodeURI()相比,这个方法将对更多的字符进行编码,比如 / 等字符。
不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z
如果你的页面是UTF-8编码,请使用encodeURIComponent。
decodeURIComponent()
解码由encodeURIComponent函数编的码
------------------------------------------------------------------------------------
escape()
采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码
不会被此方法编码的字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z
使用了escape之后必须对加号进行编码,否则,当内容含有加号时候会被服务端翻译为空格。
如果你的页面是GBK编码,请使用escape。
var encode=function(str){
str=escape(str);
str=str.replace(/+/g,"%u002B");
return str;
};
unescape()
解码由escape函数编的码
------------------------------------------------------------------------------------
以上的函数都不会受页面的编码方法不同的影响,如:
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
------------------------------------------------------------------------------------
encodeURI() 函数可把字符串作为“一整个”URI 进行编码。例如/My first/list.jsp?a=12&b=45&c=89 , &是参数分隔符,所以不会对?,&进行编码
encodeURIComponent() 函数可把字符串作为URI的“一部分”进行编码,例如对'go&state=5'编码,会对&进行编码
例子:
encodeURIComponent(",/?:@&=+$#") 返回结果:%2C%2F%3F%3A%40%26%3D%2B%24%23
encodeURIComponent("http://www.w3school.com.cn/p 1/") 返回结果:http%3A%2F%2Fwww.w3school.com.cn%2Fp%201%2F
encodeURI(",/?:@&=+$#") 返回结果:,/?:@&=+$#
encodeURI("http://www.w3school.com.cn/My first/") 返回结果:http://www.w3school.com.cn/My%20first/
分享到:
相关推荐
javascript版本的 base64解码和编码函数。
在深入探讨JavaScript函数的广泛应用与特性之前,让我们首先明确一点:JavaScript函数不仅是编程语言中的核心组件,更是实现复杂逻辑、封装功能模块的关键所在。不同于许多传统面向对象的语言,JavaScript通过其独特...
本文将详细讲解JavaScript中的几个常见判断函数,这些函数可以帮助开发者进行数据类型的检查和验证。 首先,我们来看`DataLength`函数。这个函数的主要功能是计算字符串的长度,但与JavaScript原生的`length`属性...
### JavaScript程序编码规范 #### 一、概述 《JavaScript程序编码规范》是一份旨在提高JavaScript代码质量和可维护性的指南。该规范由Douglas Crockford编写,并由cloudwater翻译成中文版。Crockford是一位著名的...
根据给定文件的信息,我们可以总结出关于JavaScript中的几个重要系统函数的知识点,这些知识点主要集中在URI编码解码、数字解析以及数值判断上。 ### 1. URI 编码与解码 #### 1.1 `encodeURI()` - **功能**:`...
在JavaScript编程中,判断函数是非常重要的工具,可以帮助开发者快速地对各种数据类型进行验证和处理。本文将详细介绍几个常用的JavaScript判断函数,包括`DataLength`(计算数据长度)、`IsEmpty`(判断是否为空)...
本文将详细介绍 JavaScript 中的数组函数、数字函数、字符串函数、表单验证、HashMap、堆栈、日期函数、call 函数等。 数组函数 JavaScript 中的数组函数提供了多种方法来操作数组,包括: * `push()`: 将参数...
以下是一些关键的JavaScript编码规范要点: 1. **命名规则**: - 变量名和函数名应采用小驼峰式(camelCase)命名法,如`myVariable`。 - 常量名应全大写,单词间用下划线分隔,如`MY_CONSTANT`。 - 避免使用...
函数声明也是 JavaScript 编码中非常重要的一部分。函数声明应该使用易读懂的名称,并且应该在函数声明之前加上 function 关键字。函数的参数也应该使用易读懂的名称,并且应该在函数体中使用。 命名 命名是 ...
在JavaScript中,变量、函数和对象的命名应该清晰、简洁且具有描述性。一般推荐使用驼峰式命名(camelCase)来命名变量和函数,而常量则通常用全大写字母(CONSTANT_CASE)。避免使用保留字和简写,这可以减少误解和...
函数`outer`中的变量`e`以及内部函数`inner`均遵循了之前提到的各项规则。注意在`function`关键字与左括号之间没有空格,而在右括号与左花括号之间有一个空格。 #### 九、总结 通过遵循上述编码规范,JavaScript...
根据提供的文件信息,关于Google JavaScript编码规范指南,我们可以详细学习和探讨以下知识点: 1. JavaScript语言规范:在编写JavaScript代码时,必须遵循一定的规范来确保代码的可读性和可维护性。这部分内容通常...
在JavaScript中,判断一个字符串是否属于GBK编码是一个常见的需求,特别是在处理中文字符集时。GBK是GB2312的扩展,包含了更多的汉字和其他字符,是Windows系统中广泛使用的中文编码标准。本篇将深入探讨如何通过...
### JavaScript编码规范详解 #### 1. 前言 随着JavaScript在前端开发中的广泛应用,尤其是在浏览器端的行为管理方面,确保代码风格的一致性对于提高团队协作效率至关重要。本篇文章旨在提供一套统一的JavaScript...
parseInt 和 parseFloat 函数都是将数字字符串转化为⼀个数值的,但它们也存在着如下区别:在 parseInt(str, radix) 函数中,str 参数是必选项,为要转换成数字的字符串,如 11;radix 参数为可选项,⽤于确定 str ...
JavaScript常用函数使用总结涵盖了多种在JavaScript编程中常用的方法,它们分别属于不同的类型,如String类型和Number类型。以下是对每个函数详细的说明和应用示例: 1. parseInt()函数 parseInt()是String类型的...
本文主要探讨JavaScript中的对象和函数,以及它们在软件开发中的应用。 JavaScript对象是数据结构的基础,它允许我们存储和操作各种类型的数据。一个对象由键值对组成,键是字符串,值可以是任何数据类型,包括其他...
在JavaScript中,对象和函数是非常核心的概念。 对象在JavaScript中是键值对的集合,可以看作是关联数组,其中键(key)通常是字符串,而值(value)可以是任何数据类型,包括其他对象。JavaScript对象允许我们组织...
在本资源中,我们将详细介绍JavaScript和JavaWeb对汉字编码的策略,包括escape、encodeURI、encodeURIComponent等编码函数的使用,以及对应的解码函数unescape、decodeURI、decodeURIComponent的使用。 一、escape...
在JavaScript中,`btoa()` 和 `atob()` 是两个内置函数,分别用于Base64编码和解码。但是,这两个函数并不支持直接处理Unicode字符,包括中文。当尝试用它们处理包含非ASCII字符的字符串时,可能会导致乱码或错误。 ...