2010-12-06 28 views
6

次のコードを使用して、動的文字列を有効なクラスに変換しています。クロスブラウザJavascriptの正規表現

domain.replace('.','_','gi') 

これは、すべての主要なブラウザではなく、Internet Explorerで正常に動作し、私はなぜ思ったんだけど。 giフラグはグローバルと大文字と小文字を区別しませんが、それらを削除することは、Firefoxでも置換が機能しないことを意味します。

これを変更してより多くのブラウザでより使いやすくするためのアイデアはありますか?

+1

どうなりますか?期待された実際の結果は何ですか? –

答えて

10

あなたは文字列の代わりに実際の正規表現を使用する必要があります:

domain.replace(/\./g, "_") 

第三引数(フラグ)は非標準であります。

+0

@elusive:なぜドットに 'i'フラグが必要でしょうか? –

+0

良い点。私はそれを提出してから数秒後にそれを認識しました。申し訳ありません。 +1非標準のヒント;) – jwueller

+0

クラッキング!それが私が欠けていたものです。 6分で受け入れます:) –

7

あなたはこのようにそれを実行する必要があります。

domain.replace(/\./g, '_');