在我的一生中,我无法弄清楚如何用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
的行上。我到底在做什么错?
最佳答案
您注释掉了结尾的)
,因此出现了错误。
您需要在正则表达式中转义/
,并且即使在这里可能不需要转义[
和]
也不是坏主意。
var msgtxt = gk_text.replace(/\/\[/g, '<');
msgtxt = msgtxt.replace(/\/\]/g, '>');