在 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" />' + " " +'<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 中转义单引号的主要内容,如果未能解决你的问题,请参考以下文章