Javascript正则表达式找到所有大写字母

时间:2014-01-12 17:28:39

标签: javascript regex

我有一个文字,我需要用其他东西替换每个大写字母。我得到了这个工作代码,它取代了每个第一个字母,并将其颜色更改为红色。

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")
  }

有没有办法让它只找到大写字母?

3 个答案:

答案 0 :(得分:3)

从正则表达式中删除i开关,使其区分大小写,
并使用大写字母表示第一个字符:

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

答案 1 :(得分:2)

如果我找到你并且你想只替换大写字母,如果它们是一个单词的第一个字母,那么将你的正则表达式更改为:

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

我删除了i标记以使其区分大小写,并将第一个捕获组更改为仅接受大写字母。

答案 2 :(得分:0)

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

如果我们说,元素只是字符串,实际上不是,但我认为这应该给你正确的想法。