`

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语言进行前端数据验证的技术方法。这种技术常见于各种表单验证中,用于确保用户输入的数据符合特定格式...

    前台Javascript转换特殊字符

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

    网页中的特殊符号.pdf

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

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

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

    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关键字来声明变量,理解它们的区别对于编写...

    url参数中有+、空格、=、%、&amp;、#等特殊符号的问题解决

    然而,当URL参数中包含特殊符号如+、空格、=、%、&amp;、#等时,可能会引发解析问题,导致服务器无法正确识别和处理这些参数。这是因为这些特殊符号在URL中有特定含义,如果不进行适当的编码,它们可能会被误解或...

Global site tag (gtag.js) - Google Analytics