2016-07-08 4 views
-2

私はいくつかのjavascriptを使用しています。文字列の大文字(および残りの部分)を置き換える方法

私は灰色に変わります<span class="gray"> WordWithCapitalLetterAtBeginning </span>

Apple()を使用して、灰色に大文字で始まる任意の単語をしたいと思い

APPLEを有効にしてくださいグレー

bANANAは灰色に変わりないはず

banaNa()はグレーになりません。

orangeは、私はスパンにそれを置き換えるために正規表現を使用してJavaScriptで文字列replaceに置く何

灰色を回すべきではないのですか?

これまでのところ、私は試しました:/([A-Z])/gしかし、これは大文字でのみ実行されますが、残りの単語ではありません。ここで

は、これまでのところ、私のjsです:

function stylifyCode(s) 
{ 
    s=s.replace('var','<span style="color:blue;">var</span>'); 
    s=s.replace('\n','<br>') 
    s=s.replace(/([A-Z])/g, '<span class="gray">$1</span>') 

    return s; 
} 

と、ページがロードされます。

document.getElementById("mycode").innerHTML = stylifyCode("var hello = 'world!';\nnew Awesome(hello+World())"); 

ありがとうございました。

+0

あなたのHTMLを提供できますか?このチェックを 'span'要素に対してのみ実行しますか? –

+0

@MohitBhardwaj更新された質問。 –

+0

@gcampbell更新された質問。 –

答えて

3

あなたは次のような意味ですか?

var input = "This is a Test String with some Words in It."; 
 
var output = input.replace(/\b([A-Z]\w*)\b/g, "<span class='gray'>$1</span>"); 
 

 
console.log(output); 
 
document.getElementById("result").innerHTML = output;
.gray { 
 
    background-color: #CCCCCC; 
 
}
<div id="result"></div>

説明:regex\b([A-Z]\w*)\bはワード境界に続くゼロ個以上の単語文字が続く大文字、続く、単語の境界と一致します。

+0

まさに!ありがとうございました。説明もありがとう! –

1

"new Apple() Test Test, hello".replace(/([A-Z])/g, "<span class='gray'>$1</span>")

+0

そこに着いていますが、言葉全体が灰色になっていきたいと思います。私は実際にそれを既に試みたが、私の質問に含めることを忘れてしまった。 –

関連する問題