我有一个文字,我需要用其他东西替换每个大写字母。我得到了这个工作代码,它取代了每个第一个字母,并将其颜色更改为红色。
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")
}
有没有办法让它只找到大写字母?
答案 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
}
如果我们说,元素只是字符串,实际上不是,但我认为这应该给你正确的想法。