今天在做一个表单提交信息时,碰到一个JS的特殊字符转化的问题,在JS中用encodeURI转化中文时,里面包含了特殊字符‘#’无法保存,后用encodeURIComponent解决了该问题,特从网上查找出相关内容,以备学习:
在javascript脚本里,有现成的转码函数可以调用,有3个:
1,采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。unescape方法与此相反。
不会被此方法编码的字符: @ * / +
2,把URI字符串采用UTF-8编码格式转化成escape格式的字符串。
不会被此方法编码的字符:! @ # $& * ( ) = : / ; ? + '
3,把URI字符串采用UTF-8编码格式转化成escape格式的字符串。与encodeURI()相比,这个方法将对更多的字符进行编码,比如 / 等字符。所以如果字符串里面包含了URI的几个部分的话,不能用这个方法来进行编码,否则 / 字符被编码之后URL将显示错误。
不会被此方法编码的字符:! * ( )
因此,对于中文字符串来说,如果不希望把字符串编码格式转化成UTF-8格式的(比如原页面和目标页面的charset是一致的时候),只需要使用 escape。如果你的页面是GB2312或者其他的编码,而接受参数的页面是UTF-8编码的,就要采用encodeURI或者 encodeURIComponent。
另外,encodeURI/encodeURIComponent是在javascript1.5之后引进的,escape则在javascript1.0版本就有。
分享到:
相关推荐
本文主要介绍在JavaScript中遇到的URL传递数据时,如何处理特殊字符的转义问题。 在进行URL传值的时候,数据丢失实际上并非真正的丢失,而是由于特殊字符在URL中有特殊的意义,被浏览器解释为URL的一部分。例如,...
在编程和数据库交互时,确保数据安全至关重要,尤其是在插入数据到数据库之前,必须对特殊字符进行转义处理。这是因为不转义的特殊字符可能导致SQL注入等安全问题,从而造成数据破坏、信息泄露甚至整个系统的瘫痪。...
在开发Web应用时,我们经常会遇到一个问题:当使用Spring MVC的`@ResponseBody`注解将后端处理结果直接转化为HTTP响应体时,如果这个结果中包含HTML特殊字符,如尖角号、引号、按位与符号等,浏览器可能会误解析,...
美元符号的转义:$ ==> \\u0024 乘方符号的转义:^ ==> \\u005E 左大括号的转义:{ ==> \\u007B 左方括号的转义:[ ==> \\u005B 左圆括号的转义:( ==> \\u0028 竖线的转义:| ==> \\u007C 右方括号转义:] ==>...
在JavaScript中,反斜杠(\)用于转义特殊字符,例如"\n"表示换行,"\t"表示制表符,"\\"表示反斜杠本身,而"\'"和'\"'分别用来转义单引号和双引号。JavaScript中还有一类特殊的转义序列,如"\u0026"用于表示ASCII码...
以下是关于"js校验特殊字符"这一主题的详细解释: 1. **特殊字符过滤的原理** 在JavaScript中,可以使用正则表达式(Regular Expression)进行字符串的匹配和校验。特殊字符过滤就是创建一个包含不允许的字符的...
本篇文章主要探讨的是如何在SQLite中对特殊字符进行转义,以便正确执行查询。 在SQLite中,特殊字符包括但不限于`/`、`'`、`[`、`]`、`%`、`&`、`_`、`(`和`)`。这些字符在LIKE表达式中具有特定的含义,例如`%`代表...
- **功能**:此函数用于准备字符串以安全地插入到MySQL数据库中,通过转义特殊字符来防止SQL注入。 - **语法**:`mysql_real_escape_string(string, connection)` - **参数**: - `string`:要转义的字符串。 -...
本文将深入探讨如何在JavaScript中进行特殊字符过滤,并提供相关工具和源码的使用方法。 一、为什么要过滤特殊字符? 1. 防止SQL注入:特殊字符如单引号(')、双引号(")、分号(;)等在SQL语句中具有特定含义,如果不...
这包括对URL中的特殊字符进行转义编码,避免由于特殊字符带来的解析问题。在实际开发过程中,通常会使用现成的库函数或浏览器提供的编码工具函数来完成这项工作,例如JavaScript内置的`encodeURIComponent`和`...
解决这类问题的方法是在特殊字符前加上反斜杠`\`,使其变为`\*`,这样Java的正则解析器就能识别出我们想要匹配的是一个星号,而非重复符号。 但是,需要注意的是,使用字符类`[]`来包含特殊字符在某些情况下可能也...
`escape-string-regexp` 是一个非常实用的工具库,专门用于转义正则表达式中的特殊字符。这个库由Sindre Sorhus创建,其GitHub仓库的最新提交版本为14b8379。 正则表达式中包含一些具有特殊含义的字符,例如 `\`, `...
- 对于CSS和jQuery选择器,需要转义特殊字符,例如用反斜线`\`转义方括号。 - 使用属性选择器来指定ID,避免直接在选择器字符串中使用特殊字符。 了解并掌握这些转义技巧,可以有效地帮助我们在处理含有特殊字符的...
总结来说,要使`<textarea>`中的特殊字符不被转义,可以使用JavaScript的`innerText`或`value`属性,并且根据具体需求选择合适的方式处理特殊字符。同时,理解何时和如何在服务器端和客户端进行字符转义是确保数据...
【JavaScript源代码】基于网址URL中特殊字符转义编码是一个重要的概念,特别是在Web开发中,因为URL是连接互联网资源的基本途径。URL编码是确保数据在URL中正确传递的关键步骤,尤其是当URL包含特殊字符或者非ASCII...
在HTML文档中,为了正确显示某些特殊字符或符号,需要使用到转义字符。这些转义字符通常由一个“&”字符开头,后面跟着表示该字符的代码或者名称,最后以一个“;”结束。这种方式可以确保HTML解析器能够正确地解释并...
3. **CSS与JavaScript中的Unicode转义**:在CSS中,特殊字符通常通过反斜杠`\`进行转义,例如向左箭头的CSS编号是21E0,表示为`\21E0`。在JavaScript中,需要使用`u`前缀,如`\u21E0`。 4. **注意事项**: - **...