2010-09-23 117 views
1

我一直在使用jQuery地址插件,它傳遞了一個event.value,可能導致/messages/inbox/。我希望能夠將其轉化爲Messages InboxjQuery capitilize每個單詞的第一個字母

我不確定要使用哪種正則表達式以及如何執行此操作。目前我有這個,但這對我來說太麻煩了。

var href = event.value != '/' ? event.value : '/wall/'; 
var title1 = href.replace('/', ""); 
var title2 = title1.replace('/', " "); 
var myTitle = title2.replace('/', ""); 
$.address.title("My-Site | " + myTitle); 

回答

6

這是有點整齊;砍掉的開始和結束的字符,然後更換中間,然後運行一個正則表達式替換掉的字符爲大寫的版本:使用

var href = event.value != '/' ? event.value : '/wall/', 
    title = href.slice(1, -1).replace("/", " "), 
    myTitle = title.replace(/\b[a-z]/g, function ($0) { 
     return $0.toUpperCase(); 
    }); 

$.address.title("My-Site | " + myTitle); 

方法:

+3

不錯。注意JavaScript正則表達式的侷限性:只有A-Z,a-z,0-9和_被視爲單詞字符,所以以其他字符(如重音符號)開頭的單詞不會正確大寫。 – 2010-09-23 10:34:55

+0

@Tim:非常好,謝謝你:-) – 2010-09-23 13:59:56

相關問題