在 Javascript 中转义单引号

Posted

技术标签:

【中文标题】在 Javascript 中转义单引号【英文标题】:Escaping a single quote in 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 , "\'") 

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

【问题讨论】:

【参考方案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

【讨论】:

以上是关于在 Javascript 中转义单引号的主要内容,如果未能解决你的问题,请参考以下文章

在 PHP/MySQL 插入中转义单引号不起作用

在 VB 脚本中转义单引号 >> Java 脚本

如何在 Presto 中转义单引号?

如何在 MySQL 中转义单引号

在 SQL Server 中转义单引号

如何在单引号字符串中转义单引号