我需要将字符串值保存在cookie中,并且该字符串(人的姓氏)可能包含撇号,如O'Bama。在保存在cookie中的字符串中使用撇号
我试过lastName.replace(/'/, "\'").toString();
,但我在一个cookie中获得undefined
。
我在做什么错,以及如何正确地做到这一点?
我需要将字符串值保存在cookie中,并且该字符串(人的姓氏)可能包含撇号,如O'Bama。在保存在cookie中的字符串中使用撇号
我试过lastName.replace(/'/, "\'").toString();
,但我在一个cookie中获得undefined
。
我在做什么错,以及如何正确地做到这一点?
使用escape()
功能在javascript:
lastname = escape(lastname);
要撤消此操作,请拨打unescape()
...
这将编码所有特殊字符以将它们存储在您的cookie中。
请您详细说明unescape的用法吗? – KeithRules
for unescaping做以下操作:'lastname = unescape(lastname);'。所以编码的字符将被解码。 – Atrox111
遵循你的建议,应该工作得很好......但我仍然得到“未定义”。 – KeithRules
你只需要使用JavaScript函数来逃避字符串:
escape()
和UNESCAPE得到实际值
unescape()
你应该使用' “\\'”','\ ''是刚刚逃脱'''这只是'''。 – jcubic
您需要加倍反斜杠:'“O'brien”.replace(/'/ g,“\\'”)'。 (并且我添加了'g'修饰符,以替换多个''',如果这种情况发生的话,toString不是必须的。) – CBroe
似乎是一个正确的解决方案...但我仍然得到“未定义”。 – KeithRules