如何定位所有大写字母的字符串?

时间:2012-06-05 23:58:30

标签: javascript jquery string

我正在尝试更改包含某些文本样式的字符串的背景颜色(使用javascript)。例如,我想让所有不包含任何大写字母的文本都有绿色背景,任何包含所有大写字母的字符串都有红色背景。

我知道我需要使用条件if语句,但我不确定如何实现所期望的。

以下是我js小提琴的链接。任何想法将不胜感激。谢谢!

http://jsfiddle.net/gnXCr/

-D

1 个答案:

答案 0 :(得分:0)

基本上,你用字分开你的字符串,循环遍历这些字,然后在每个字循环中通过每个字母,并通过检查字母和letter.toLowerCase()是否不同来检查它是否为大写。像这样:

function hasAllCapsWord(string) {
    var words=string.split(" ");

    for (var i=0;i<words.length;i++) {
        var letters=words[i].split("");
        var wordIsAllCaps=false;

        for (var j=0;j<words.length;j++) {
            if (letters[j] && letters[j]!=letters[j].toLowerCase()) {
                wordIsAllCaps=true;
            }
        }

        if (wordIsAllCaps) return true;
    }

    return false;
}