1. ホーム
  2. javascript

[解決済み] JavaScriptでスペースをアンダースコアに置き換える?

2022-03-22 18:44:57

質問

このコードを使ってスペースを_に置き換えようとしているのですが、文字列の最初のスペースはうまくいくのですが、他のスペースのインスタンスはすべて変更されないままなのです。どなたか理由をご存じですか?

function updateKey()
{
    var key=$("#title").val();
    key=key.replace(" ","_");
    $("#url_key").val(key);
}

解決方法は?

試す .replace(/ /g,"_");

編集 : または .split(' ').join('_') REに嫌悪感がある場合

編集 : John Resig氏のコメント :

<ブロッククオート

検索と置換を行う場合 という文字列を静的検索 と静的な置換を行った方が速いです。 で実行します。 .split("match").join("replace") --。 直感に反しているように見えますが は、ほとんどの場合、そのように動作するように管理されます。 モダンブラウザ (現在 を大幅に改善するために行っています。 .replace(/match/g)のパフォーマンス。 次のバージョンの Firefoxの場合、前述したように は長くは続かないでしょう)。