对于我的生活,我不能想出如何用JavaScript中的值替换[
的所有<
和]
的所有>
。
这是我尝试过的,但它不起作用:
function SwitchDialog(NextDialog)
{
if (NextDialog=='SCHEDULE') {
$('.popup1').smart_modal_hide();
} else if (NextDialog=='LICENSEE') {
gotoLicensee(licenseeLink);
} else if (NextDialog=='REVIEWCART') {
window.location = CART_URL;
} else if (NextDialog=='RFO') {
window.location = REGISTER_FOR_OTHERS_URL;
} else {
if (NextDialog=='PREREG') {
var msgtxt = gk_text.replace(//[/g, '<');
msgtxt = msgtxt.replace(//]/g, '>');
DialogTemps[NextDialog].msgtext = msgtxt; // error occurs on this line
}
RenderDialog(NextDialog);
}
}
我得到了Syntax error: "missing ) after argument list
;在指定msgtext
的行上。
我到底做错了什么?
答案 0 :(得分:6)
你需要用反斜杠(\)转义表达式中的[和]字符,如下所示:
var msgtxt = gk_text.replace(/\[/g, '<');
msgtxt = msgtxt.replace(/\]/g, '>');
答案 1 :(得分:4)
您注释了结束)
,因此错误。
你需要在正则表达式中转义/
,并且也不要错误地逃避[
和]
,即使这里可能不需要< / S>
var msgtxt = gk_text.replace(/\/\[/g, '<');
msgtxt = msgtxt.replace(/\/\]/g, '>');
答案 2 :(得分:0)
您需要使用[
转义]
和\
个字符,然后才能special meaning in regex。
var msgtxt = gk_text.replace(/\[/g, '<').replace(/\]/g, '>');