在我的一生中,我无法弄清楚如何用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, '>');

09-20 22:17