2013-06-26 37 views
0

我需要将字符串值保存在cookie中,并且该字符串(人的姓氏)可能包含撇号,如O'Bama。在保存在cookie中的字符串中使用撇号

我试过lastName.replace(/'/, "\'").toString();,但我在一个cookie中获得undefined

我在做什么错,以及如何正确地做到这一点?

+0

你应该使用' “\\'”','\ ''是刚刚逃脱'''这只是'''。 – jcubic

+2

您需要加倍反斜杠:'“O'brien”.replace(/'/ g,“\\'”)'。 (并且我添加了'g'修饰符,以替换多个''',如果这种情况发生的话,toString不是必须的。) – CBroe

+0

似乎是一个正确的解决方案...但我仍然得到“未定义”。 – KeithRules

回答

1

使用escape()功能在javascript:

lastname = escape(lastname); 

要撤消此操作,请拨打unescape() ...

这将编码所有特殊字符以将它们存储在您的cookie中。

一些参考:http://www.w3schools.com/jsref/jsref_escape.asp

+0

请您详细说明unescape的用法吗? – KeithRules

+0

for unescaping做以下操作:'lastname = unescape(lastname);'。所以编码的字符将被解码。 – Atrox111

+0

遵循你的建议,应该工作得很好......但我仍然得到“未定义”。 – KeithRules

1

你只需要使用JavaScript函数来逃避字符串:

escape() 

和UNESCAPE得到实际值

unescape() 
相关问题