2014-01-12 160 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 
相关问题