`
- 浏览:
313492 次
- 性别:
- 来自:
广州
-
- javascript和JAVA一样,一些特殊字符需要转义
-
- 特别是在一些JSP网页的开发中,好多程序员经常会忘掉这点,
- 例:
-
1 <% List textList = (List)request.getAttribute("textList"); %>
-
2 <script>
-
3 <!--
-
4 var txtList = new Array();
-
5 <% for ( int i = 0 ; i < textList.size() ; i++) { %>
-
6 txtList[<%=i%>] = "<%=textList.get(i)%>";
-
7 <% } %>
-
8 -->
-
9 </script>
-
- 这段JS就存在问题,未对特殊符号进行处理.有特殊符号的情况下有可能报JSERROR
-
- JAVASCRIPT中需要转义的有:
-
- 转义序列 字符
- \b 退格
- \f 走纸换页
- \n 换行
- \r 回车
- \t 横向跳格 (Ctrl-I)
- \' 单引号
- \" 双引号
- \\ 反斜杠
-
- 此外,对/符号我觉得也有必要进行处理,因为象 --></script> 这样的字符串也会使SCRIPT出错.
-
- 下面提供一个比较实用java的方法,做这个特殊符号的处理:
-
1public class JavaScriptUtils {
-
2 public static String javaScriptEscape(String input) {
-
3 if (input == null) {
-
4 return input;
-
5 }
-
6 StringBuffer filtered = new StringBuffer(input.length());
-
7 char prevChar = '\u0000';
-
8 char c;
-
9 for (int i = 0; i < input.length(); i++) {
-
10 c = input.charAt(i);
-
11 if (c == '"') {
-
12 filtered.append("\\\"");
-
13 }
-
14 else if (c == '\'') {
-
15 filtered.append("\\'");
-
16 }
-
17 else if (c == '\\') {
-
18 filtered.append("\\\\");
-
19 }
-
20 else if (c == '\t') {
-
21 filtered.append("\\t");
-
22 }
-
23 else if (c == '\n') {
-
24 if (prevChar != '\r') {
-
25 filtered.append("\\n");
-
26 }
-
27 }
-
28 else if (c == '\r') {
-
29 filtered.append("\\n");
-
30 } else if (c == '\f') {
-
31 filtered.append("\\f");
-
32 } else if (c == '/') {
-
33 filtered.append("\\/");
-
34 }
-
35 else {
-
36 filtered.append(c);
-
37 }
-
38 prevChar = c;
-
39 }
-
40 return filtered.toString();
-
41 }
-
42}
-
43
-
- 上面的例子应改为:
-
1 <% List textList = (List)request.getAttribute("textList"); %>
-
2 <script>
-
3 <!--
-
4 var txtList = new Array();
-
5 <% for ( int i = 0 ; i < textList.size() ; i++) { %>
-
6 txtList[<%=i%>] = "<%=JavaScriptUtils.javaScriptEscape(textList.get(i))%>";
-
7 <% } %>
-
8 -->
-
9 </script>
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
总之,前端开发中的特殊符号使用是一个实用且多样化的主题,开发者需要熟悉Unicode字符集,理解HTML实体引用、CSS和JavaScript中的转义规则,并关注跨浏览器和跨平台的兼容性问题,以确保内容在各种环境下都能正确...
为了解决这个问题,我们可以使用JavaScript提供的escape函数来对含有特殊符号的参数值进行编码。escape函数会对字符串进行编码,除了字母、数字和一些特定符号(如*、-、@、_、+、.、/)之外的所有字符都将被编码。...
此外,文档还提到`escapeJavascript`函数,这个函数用于在字符串中转义JavaScript的特殊字符,比如单引号(`'`)和双引号(`"`)。在JavaScript中,单引号和双引号用于字符串的界定,如果不进行转义,字符串内部包含同样...
在URL中传递参数时,有些特殊符号由于是URL的保留字符,不能直接使用,否则可能会导致参数解析错误或者行为不符合预期。这些特殊字符包括但不限于:`&`、`=`、`%`、`#` 等。 为了在URL中传递这些特殊字符,我们需要...
- **编程**:在编写代码时,特殊符号是必不可少的,例如在HTML、CSS、JavaScript等语言中。 - **设计**:设计师在制作图形、排版时,需要各种特殊符号来提升视觉效果。 - **文档编辑**:在撰写学术论文、报告或...
Lotus Domino AJAX 转义ls 特殊符号 Lotus Domino 是一种基于 Notes/Domino 平台的应用程序开发工具,使用 LotusScript 语言进行开发。在开发过程中,经常会遇到特殊符号的转义问题,本文将详细介绍 Lotus Domino ...
正则表达式由一系列的字符和特殊符号组成,用于定义搜索模式。例如: - `.` 匹配任何单个字符(除了换行符) - `*` 表示前面的字符可以出现任意次(包括零次) - `+` 表示前面的字符至少出现一次 - `?` 表示前面的...
本主题主要关注的是“表单的验证数字字符特殊符号”,这涉及到对用户在表单中输入的数字、字母以及特殊字符的检查。 一、表单验证的重要性 表单验证可以防止无效数据的提交,减少服务器端的处理负担,提高用户体验...
标题中所提及的“JavaScript代码判断输入的字符串是否含有特殊字符和表情”,实质上是介绍了一种使用JavaScript语言进行前端数据验证的技术方法。这种技术常见于各种表单验证中,用于确保用户输入的数据符合特定格式...
"前台JavaScript转换特殊字符"这个主题涉及到的是如何在JavaScript中处理和转换文本中的特殊字符,以确保数据的正确显示和处理。在网页开发中,经常遇到需要对用户输入进行清理或者格式化的情况,比如防止XSS(跨站...
2. **JavaScript**:通过JavaScript,可以动态地插入特殊符号。例如,可以使用`\u2764`来表示心形。 3. **CSS**:在CSS中,可以使用`\2190`等代码来插入特殊符号作为背景图像或装饰元素。例如,`.symbol::before { ...
在开发Web应用时,我们经常会遇到一个问题:当使用Spring MVC的`@ResponseBody`注解将后端处理结果直接转化为HTTP响应体时,如果这个结果中包含HTML特殊字符,如尖角号、引号、按位与符号等,浏览器可能会误解析,...
变量的命名规则是,变量可以包含字母、数字和下划线,但不能以数字开头、不能出现空格、加减乘除等特殊符号,也不能使用关键字或保留字命名。 输出方式 JavaScript 的输出方式有两种:document.write() 用于页面...
3. **特殊符号**:正则表达式中的特殊符号用于构建更复杂的模式。例如,`.`用于匹配任意单个字符,`*`表示前面的元素可以出现零次或多次,`+`表示至少出现一次,`?`表示前面的元素可以出现零次或一次,`^`用于匹配...
本资料包“HTML常用特殊符号对照表及一些标签说明”包含了这些特殊符号的对照表以及一些常用的HTML标签的详细说明,旨在帮助开发者更好地理解和使用HTML。 首先,HTML特殊符号对照表主要包括以下几个方面: 1. ...
javascript 如何判断中文特殊字符
变量在JavaScript中不需要预先声明,可以直接赋值,同时区分大小写,且变量名可以包含字母、数字、美元符号和下划线,但不能有空格或特殊符号。 JavaScript有多种数据类型,包括字符串、数值、布尔型和数组。字符串...
它可能还会讲述数据类型,包括基本的字符串、数字、布尔值,以及特殊的null和undefined。此外,常量与变量的声明和使用也是基础部分的重点,JavaScript使用var、let和const关键字来声明变量,理解它们的区别对于编写...
然而,当URL参数中包含特殊符号如+、空格、=、%、&、#等时,可能会引发解析问题,导致服务器无法正确识别和处理这些参数。这是因为这些特殊符号在URL中有特定含义,如果不进行适当的编码,它们可能会被误解或...