我想用這個代碼來替換空格_,它用於字符串中的第一個空格,但所有其他空間實例保持不變。任何人都知道爲什麼?在JavaScript中用下劃線替換空格?
function updateKey()
{
var key=$("#title").val();
key=key.replace(" ","_");
$("#url_key").val(key);
}
我想用這個代碼來替換空格_,它用於字符串中的第一個空格,但所有其他空間實例保持不變。任何人都知道爲什麼?在JavaScript中用下劃線替換空格?
function updateKey()
{
var key=$("#title").val();
key=key.replace(" ","_");
$("#url_key").val(key);
}
嘗試.replace(/ /g,"_");
編輯:或.split(' ').join('_')
如果你有一個厭惡的RE
編輯:John Resig said:
如果您正在搜索並替換 通過一個帶有靜態搜索的字符串CH 和靜態取代它的速度更快 執行與 .split(「匹配」)的行動,我們(「替換」) - 這似乎違反直覺的,但它 管理工作中最 現代瀏覽器的方式。 ( 到 下一個版本的火狐 - 將大大提高.replace(/ match/g, 「替換」)的性能 - 因此以前的語句 將不會很長。 )
要回答以下人員Prasanna的問題:
你如何通過 單一空間的Javascript替換多個空格?
您將使用具有不同正則表達式的相同函數replace
。對於空白的表達是\s
和「1次以上」的表述是+
加號,所以你只是用以下內容替換亞當的回答是:
key=key.replace(/\s+/g,"_");
你可以試試這個
var str = 'hello world !!';
str = str.replace(/\s+/g, '-');
它甚至單取代多個空格「 - 」。
我知道這是舊的,但我沒有看到任何人提及延長字符串prototype
。
String.prototype.replaceAll = function(search, replace){
if(!search || !replace){return this;} //if search entry or replace entry empty return the string
return this.replace(new RegExp('[' + search + ']', 'g'), replace); //global RegEx search for all instances ("g") of your search entry and replace them all.
};
替換爲空間下劃線
var str = 'How are you';
var replaced = str.split(' ').join('_');
輸出: How_are_you
呸!你擊敗我58secs!我不應該添加key =鍵。大聲笑 – Adam 2009-01-13 22:12:25
反正它在我的剪貼板。什麼是可能性。 – 2009-01-13 22:15:50
有沒有辦法做到這一點沒有正則表達式? – 2009-01-13 22:20:50