JavaScript でスペースをアンダースコアに置き換えるには? 質問する

JavaScript でスペースをアンダースコアに置き換えるには? 質問する

このコードを使用してスペースを _ に置き換えようとしていますが、文字列の最初のスペースには機能しますが、他のスペースのインスタンスは変更されません。理由を知っている人はいますか?

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

ベストアンサー1

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

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

編集ジョン・レシグは言った:

静的検索と静的置換を使用して文字列を検索および置換する場合は、.split("match").join("replace") を使用してアクションを実行する方が高速です。これは直感に反するように思えますが、ほとんどの最新のブラウザーではそのように動作します。(Firefox の次のバージョンでは、.replace(/match/g, "replace") のパフォーマンスを大幅に向上させるための変更が行われているため、前のステートメントはすぐに当てはまりません。)

おすすめ記事