-1

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

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

下面是我的 js fiddle 的链接。任何想法将不胜感激。谢谢!

http://jsfiddle.net/gnXCr/

-D

4

1 回答 1

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;
}
于 2012-06-06T00:13:35.723 回答