【问题标题】:store ":;',./<>?,./asdaA12 in javascript variable dynamicaly (Unexpected token error)store ":;',./<>?,./asdaA12 动态存储在 javascript 变量中(意外的令牌错误)
【发布时间】:2016-12-19 12:12:09
【问题描述】:

我想将 ":;',./&lt;&gt;?,./asdaA12 值存储在 gsp 页面中的 js 变量中,但由于包含 "' 作为字符串的特殊符号,它无法正确存储它并给我运行时错误。 我的快照代码是:

var editGrp_billingCode_val ="${returnVal?.groupCommand?.billingCode?:billingCode?:billingCode}";

此处计费代码填充:":;',./&lt;&gt;?,./asdaA12 值,其中包含 " 或 ' 符号,因此该页面给我运行时 js 错误

有没有一种解决方案可以将这种类型的字符串转换为String变量并存储到js变量中。喜欢java中的toString方法

Value ":;',./?,./asdaA12 不是固定的,它会在运行应用程序时动态出现,所以我必须在运行时将其转换为存储在 js 变量中

【问题讨论】:

  • 你需要转义你的字符串。阅读Escaping Strings in JavaScript
  • ${}?.?: 符号不是 JavaScript 的一部分,对吧?您还使用什么其他语言来呈现该 JavaScript?
  • 我已经提到了;它是一个 gsp 页面 contaions
  • 您使用的模板引擎很有可能有一种方法来转义这些字符串。你指的这个 GSP 是什么?
  • 这里有一个类似的问题,但答案基本上是 RTFM,我认为这是最好的做法。 stackoverflow.com/questions/15681708

标签: javascript jquery gsp


【解决方案1】:

我已经想通了,只需将您的变量(符号)括在“正斜杠”之间,例如

      <script>
                 var x = /".'*:",/
                  alert(x)
                 // this should print ".'*:",

      </script>

【讨论】:

  • 这是一个正则表达式,不是字符串;-)
【解决方案2】:

通过逃避它们:

<script>
    var x = "\".'*:\","
    alert(x)
    // this should print ".'*:",

</script>

短转义列表:

  • " = \"' = \'
  • \ = \\
  • 换行 = \n
  • 制表符 = \t

更多:w3schools - JavaScript Strings

【讨论】:

  • 不是静态字符串或值;值会在页面加载时动态出现;它在任何时候都不起作用。
猜你喜欢
  • 2015-11-10
  • 1970-01-01
  • 2018-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-12
相关资源
最近更新 更多