2016-02-18 52 views
1

我们获取可能包含单引号的客户的姓氏和名字。如果其中一个名称包含单引号,则会出现脚本错误“Expected”;“'。在Javascript中转义单引号

的片段迎接顾客:

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

我不能只使用双引号,因为在双引号括起来。所以

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

或类似的东西是行不通的,我迄今为止发现的唯一建议。

回答

0

使其

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

例如

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

基本上你需要使用单斜杠3次,一个斜线逃脱斜线本身和一个逃避报价。

+0

的问题是它需要替换为文本: \t问候= ”Guten标签“ +'Jéän-Françöisü'.replace(/'/ g,“\\\'”)+“ ”+'BO'LOMEYèéà'.replace(/'/ g,“\\\'”)+“!” ; – Shade

+0

@Shade那是因为你用单引号括起了名字。把它们用双引号括起来就像''BO'LOMEYèéà“.replace(/'/ g,”\\\'“)' – gurvinder372

+0

感觉很愚蠢。已经尝试过,并没有工作,可能是我第一次尝试这个时候的另一个bug。非常感谢你的帮助。 – Shade

0

Repace `(九死一生键)

O'Doil将O`Doil