2014-01-12 171 views
0

我有一個文本,我需要用其他東西替換每個大寫字母。我得到了這個工作代碼,它代替了每個第一個字母,並將其顏色更改爲紅色。Javascript正則表達式找到所有的大寫字母

var elements = document.getElementsByClassName("each-word") 
    for (var i=0; i<elements.length; i++){ 
    elements[i].innerHTML = elements[i].innerHTML.replace(/\b([a-z])([a-z]+)?\b/gim, "<span class='first-letter'>$1</span>$2") 
    } 

有沒有辦法讓它找到只有大寫字母?

回答

2

如果我得到你的權利,你要替換隻有大寫字母,如果他們是一個單詞的第一個字母,然後改變你的正則表達式來:

/\b([A-Z])([a-z]+)?\b/gm 

我刪除了i標誌,使它區分大小寫,並將第一個捕獲組更改爲僅接受大寫字母。

+0

謝謝都與Guffa,我想要做什麼,不能接受一個問題,因爲還沒有通過10分鐘 – RnD

+0

@RnD沒有必要匆忙,只要你不要忘記它:) –

+0

對不起,再次哥哥,但你可以請添加一個解決方案的數字和特殊字符或者指出一個很好的參考? – RnD

0
var elements = //string 
for(i in elements){ 
    if(i >= 'A' && i <= 'Z') 
     //something else 
} 

如果我們要說,元素只是字符串,其實不是,但我認爲這應該給你正確的想法。

3

從正則表達式中刪除i開關,使其區分大小寫,
和使用大寫字母的第一個字符:

/\b([A-Z])([a-z]+)?\b/gm 
相關問題