`

javascript特殊符号

阅读更多
  1. javascript和JAVA一样,一些特殊字符需要转义   
  2.     
  3. 特别是在一些JSP网页的开发中,好多程序员经常会忘掉这点,   
  4. 例:   
  5. 1 <% List textList = (List)request.getAttribute("textList"); %>   
  6. 2 <script>   
  7. 3 <!--   
  8. 4 var txtList = new Array();   
  9. 5 <% for ( int i = 0 ; i < textList.size() ; i++) { %>   
  10. 6 txtList[<%=i%>] = "<%=textList.get(i)%>";   
  11. 7 <% } %>   
  12. 8 -->   
  13. 9 </script>   
  14.     
  15. 这段JS就存在问题,未对特殊符号进行处理.有特殊符号的情况下有可能报JSERROR   
  16.     
  17. JAVASCRIPT中需要转义的有:   
  18.     
  19. 转义序列 字符    
  20. \b 退格    
  21. \f 走纸换页    
  22. \n 换行    
  23. \r 回车    
  24. \t 横向跳格 (Ctrl-I)    
  25. \' 单引号    
  26. \" 双引号    
  27. \\ 反斜杠    
  28.   
  29. 此外,对/符号我觉得也有必要进行处理,因为象 --></script> 这样的字符串也会使SCRIPT出错.   
  30.     
  31. 下面提供一个比较实用java的方法,做这个特殊符号的处理:   
  32.  1public class JavaScriptUtils {   
  33.  2 public static String javaScriptEscape(String input) {   
  34.  3  if (input == null) {   
  35.  4   return input;   
  36.  5  }   
  37.  6  StringBuffer filtered = new StringBuffer(input.length());   
  38.  7  char prevChar = '\u0000';   
  39.  8  char c;   
  40.  9  for (int i = 0; i < input.length(); i++) {   
  41. 10   c = input.charAt(i);   
  42. 11   if (c == '"') {   
  43. 12    filtered.append("\\\"");   
  44. 13   }   
  45. 14   else if (c == '\'') {   
  46. 15    filtered.append("\\'");   
  47. 16   }   
  48. 17   else if (c == '\\') {   
  49. 18    filtered.append("\\\\");   
  50. 19   }   
  51. 20   else if (c == '\t') {   
  52. 21    filtered.append("\\t");   
  53. 22   }   
  54. 23   else if (c == '\n') {   
  55. 24    if (prevChar != '\r') {   
  56. 25     filtered.append("\\n");   
  57. 26    }   
  58. 27   }   
  59. 28   else if (c == '\r') {   
  60. 29    filtered.append("\\n");   
  61. 30   } else if (c == '\f') {   
  62. 31                filtered.append("\\f");   
  63. 32  } else if (c == '/') {   
  64. 33                filtered.append("\\/");   
  65. 34            }   
  66. 35   else {   
  67. 36    filtered.append(c);   
  68. 37   }   
  69. 38   prevChar = c;   
  70. 39  }   
  71. 40  return filtered.toString();   
  72. 41 }   
  73. 42}   
  74. 43  
  75.   
  76. 上面的例子应改为:   
  77. 1 <% List textList = (List)request.getAttribute("textList"); %>   
  78. 2 <script>   
  79. 3 <!--   
  80. 4 var txtList = new Array();   
  81. 5 <% for ( int i = 0 ; i < textList.size() ; i++) { %>   
  82. 6 txtList[<%=i%>] = "<%=JavaScriptUtils.javaScriptEscape(textList.get(i))%>";   
  83. 7 <% } %>   
  84. 8 -->   
  85. 9 </script>  
分享到:
评论

相关推荐

    关于前端开发的特殊符号

    总之,前端开发中的特殊符号使用是一个实用且多样化的主题,开发者需要熟悉Unicode字符集,理解HTML实体引用、CSS和JavaScript中的转义规则,并关注跨浏览器和跨平台的兼容性问题,以确保内容在各种环境下都能正确...

    php获取URL中带#号等特殊符号参数的解决方法

    为了解决这个问题,我们可以使用JavaScript提供的escape函数来对含有特殊符号的参数值进行编码。escape函数会对字符串进行编码,除了字母、数字和一些特定符号(如*、-、@、_、+、.、/)之外的所有字符都将被编码。...

    javascript 特殊字符串

    此外,文档还提到`escapeJavascript`函数,这个函数用于在字符串中转义JavaScript的特殊字符,比如单引号(`'`)和双引号(`"`)。在JavaScript中,单引号和双引号用于字符串的界定,如果不进行转义,字符串内部包含同样...

    javaScript处理URL中特殊符号的处理

    在URL中传递参数时,有些特殊符号由于是URL的保留字符,不能直接使用,否则可能会导致参数解析错误或者行为不符合预期。这些特殊字符包括但不限于:`&`、`=`、`%`、`#` 等。 为了在URL中传递这些特殊字符,我们需要...

    特殊符号输入器 4.0正式完整版

    - **编程**:在编写代码时,特殊符号是必不可少的,例如在HTML、CSS、JavaScript等语言中。 - **设计**:设计师在制作图形、排版时,需要各种特殊符号来提升视觉效果。 - **文档编辑**:在撰写学术论文、报告或...

    lotus domino AJAX 转义ls 特殊符号

    Lotus Domino AJAX 转义ls 特殊符号 Lotus Domino 是一种基于 Notes/Domino 平台的应用程序开发工具,使用 LotusScript 语言进行开发。在开发过程中,经常会遇到特殊符号的转义问题,本文将详细介绍 Lotus Domino ...

    javascript 去除特殊符和标点符号

    正则表达式由一系列的字符和特殊符号组成,用于定义搜索模式。例如: - `.` 匹配任何单个字符(除了换行符) - `*` 表示前面的字符可以出现任意次(包括零次) - `+` 表示前面的字符至少出现一次 - `?` 表示前面的...

    表单的验证数字字符特殊符号

    本主题主要关注的是“表单的验证数字字符特殊符号”,这涉及到对用户在表单中输入的数字、字母以及特殊字符的检查。 一、表单验证的重要性 表单验证可以防止无效数据的提交,减少服务器端的处理负担,提高用户体验...

    前台Javascript转换特殊字符

    "前台JavaScript转换特殊字符"这个主题涉及到的是如何在JavaScript中处理和转换文本中的特殊字符,以确保数据的正确显示和处理。在网页开发中,经常遇到需要对用户输入进行清理或者格式化的情况,比如防止XSS(跨站...

    彻底根治Spring @ResponseBody JavaScript HTML特殊字符

    在开发Web应用时,我们经常会遇到一个问题:当使用Spring MVC的`@ResponseBody`注解将后端处理结果直接转化为HTTP响应体时,如果这个结果中包含HTML特殊字符,如尖角号、引号、按位与符号等,浏览器可能会误解析,...

    网页中的特殊符号.pdf

    2. **JavaScript**:通过JavaScript,可以动态地插入特殊符号。例如,可以使用`\u2764`来表示心形。 3. **CSS**:在CSS中,可以使用`\2190`等代码来插入特殊符号作为背景图像或装饰元素。例如,`.symbol::before { ...

    JavaScript代码判断输入的字符串是否含有特殊字符和表情代码实例

    标题中所提及的“JavaScript代码判断输入的字符串是否含有特殊字符和表情”,实质上是介绍了一种使用JavaScript语言进行前端数据验证的技术方法。这种技术常见于各种表单验证中,用于确保用户输入的数据符合特定格式...

    javascript课程内容总结

    变量的命名规则是,变量可以包含字母、数字和下划线,但不能以数字开头、不能出现空格、加减乘除等特殊符号,也不能使用关键字或保留字命名。 输出方式 JavaScript 的输出方式有两种:document.write() 用于页面...

    正则表达式字母数字特殊符号至少两种(文件后缀名丢失,下载后需自行修改为xxx.rar格式后解压使用)

    3. **特殊符号**:正则表达式中的特殊符号用于构建更复杂的模式。例如,`.`用于匹配任意单个字符,`*`表示前面的元素可以出现零次或多次,`+`表示至少出现一次,`?`表示前面的元素可以出现零次或一次,`^`用于匹配...

    HTML常用特殊符号对照表及一些标签说明.zip

    本资料包“HTML常用特殊符号对照表及一些标签说明”包含了这些特殊符号的对照表以及一些常用的HTML标签的详细说明,旨在帮助开发者更好地理解和使用HTML。 首先,HTML特殊符号对照表主要包括以下几个方面: 1. ...

    javascript 如何判断中文特殊字符

    javascript 如何判断中文特殊字符

    javaScript-DOM编程艺术

    变量在JavaScript中不需要预先声明,可以直接赋值,同时区分大小写,且变量名可以包含字母、数字、美元符号和下划线,但不能有空格或特殊符号。 JavaScript有多种数据类型,包括字符串、数值、布尔型和数组。字符串...

    javascript中文参考资料

    它可能还会讲述数据类型,包括基本的字符串、数字、布尔值,以及特殊的null和undefined。此外,常量与变量的声明和使用也是基础部分的重点,JavaScript使用var、let和const关键字来声明变量,理解它们的区别对于编写...

    javascript经典特效---特殊的HTML字符.rar

    这些特殊的HTML字符在创建网页内容时尤其重要,因为它们能帮助我们正确地显示非标准的字符或保留某些特殊符号的原意。 这篇压缩包中的“特殊的HTML字符.htm”文件很可能是关于这些特殊字符的详细列表和它们在...

    JavaScript官方参考手册合集

    理解如何创建、访问和操作它们是至关重要的,包括使用点或方括号符号来访问属性,以及数组的方法如push、pop、slice等。 3. **函数与闭包**:函数是可重用的代码块,可以接受参数并返回值。闭包是一种特殊的现象,...

Global site tag (gtag.js) - Google Analytics