0

私の人生では、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

私は一体何を間違っているのですか?

4

3 に答える 3

6

次のように、式の[および]文字をバックスラッシュ(\)でエスケープする必要があります。

        var msgtxt = gk_text.replace(/\[/g, '<');
        msgtxt     = msgtxt.replace(/\]/g, '>');
于 2012-11-16T20:41:52.610 に答える
4

クロージングをコメントアウトした)ため、エラーが発生しました。

正規表現でaをエスケープする必要があります。ここでは必要ない可能性がありますが、 andも/エスケープするのは悪い考えではありません。[]

var msgtxt = gk_text.replace(/\/\[/g, '<');
msgtxt     = msgtxt.replace(/\/\]/g, '>');
于 2012-11-16T20:38:59.733 に答える
0

正規表現で特別な意味を持つように、エスケープ[して]文字を使用する必要があります。\

var msgtxt = gk_text.replace(/\[/g, '<').replace(/\]/g, '>');
于 2012-11-16T21:12:42.477 に答える