2012-03-04 10 views
0

誰もがこれを行うには良い方法を考えることができますか?複数の代替を行うにはより良い方法ですか?

+0

が常に置いてもらえません:

Live example

それとも一般的なケースでは(示された文字列の集合に限定されない)

var type = event.type.replace(/page|init|before|show|hide/g, function(m) { return m.substring(0,1).toUpperCase() + m.substring(1); }); 
foreachを持つ配列にそれらを維持するのは簡単ですが、それがあなたが探しているものかどうかはわかりません。 – Ben

+1

これはjQueryとは関係ありません。 –

+0

これは何が問題なのですか?私はそれぞれの 'replace'コールを別々の行に入れていますが、大丈夫です。 – zch

答えて

7

あなたは第二引数(=純粋なJavaScriptの)としての機能を渡し、.replace()で正規表現を使用することができます:あなたが持っている

var type = event.type.replace(/page|init|before|show|hide/, function(s) { 
    return s.charAt(0).toUpperCase() + s.slice(1); 
}); 
2

何罰金です。それを行うための別の方法があります:

var type = event.type.replace(/(\S)(\S+)/g, function(m, c1, c2) { 
    return c1.toUpperCase() + (c2 ? c2 : ""); 
}); 

Live example

関連する問題