【问题标题】:Escaping a single quote in Javascript在 Javascript 中转义单引号
【发布时间】:2016-02-18 09:47:30
【问题描述】:

我们正在获取可能包含单引号的客户的名字和姓氏。如果其中一个名称包含单引号,我会收到脚本错误“预期为“;””。

打招呼的sn-p是:

greeting = "Guten Tag " + '<xsl:value-of select="cognetic_core_person/@person_firstName" />' + "&nbsp;" +'<xsl:value-of select="cognetic_core_person/@person_lastName" />' + "!";

我不能只使用双引号,因为其中有双引号。所以

replace( /'/g , "\'") 

或类似的东西不起作用,到目前为止我发现的唯一建议。

【问题讨论】:

    标签: javascript escaping double-quotes single-quotes


    【解决方案1】:

    做起来

    replace( /'/g , "\\\'") 
    

    例如

    "as's".replace( /'/g , "\\\'") //输出为\'s

    基本上你需要使用单斜杠3次,一个斜杠用来转义斜杠本身,一个用来转义引号。

    【讨论】:

    • 问题在于它将替换为文本:greeting = "Guten Tag " + 'Jéän-Françöisü'.replace(/'/g , "\\\'") + " " +'BO'LOMEYèéà'.replace(/'/g , "\\\'") + "!";
    • @Shade 那是因为您将名称用单引号引起来。用双引号将它们括起来,如"BO'LOMEYèéà".replace(/'/g , "\\\'")
    • 感觉自己很蠢。已经尝试过但没有用,可能是我第一次尝试这个时的另一个错误。非常感谢您的帮助。
    【解决方案2】:

    `(靠近转义键)替换 '

    O'Doil 将是 O`Doil

    【讨论】:

      猜你喜欢
      • 2017-01-30
      • 2012-04-06
      • 1970-01-01
      • 2012-12-27
      • 2012-07-18
      • 1970-01-01
      • 2013-04-14
      • 1970-01-01
      相关资源
      最近更新 更多