关于字体:Javascript:如何确定文本字符串中的哪些字符是大写字母?

Javascript: How can I determine which characters in a string of text are capital letters?

本问题已经有最佳答案,请猛点这里访问。

关于可能重复的问题的注释

对那个问题的公认回答不起作用。

它错误地将空格和其他非字母字符报告为touppercase==true。:

但我现在看到,其他答案之一确实提供了一个成功的解决方案。上一个问题的正确答案来自Ciembor。我会留下这个问题,因为Barmar接受的回答正确地解决了这个问题。

如何确定文本字符串中哪些字符是大写字母?

我的第一次尝试是使用.toUpperCase进行测试,但非字母字符也返回true:

1
2
3
4
5
6
7
var text="Romeo & Juliet";

var characters=text.split('');

// and test with

characters[i]===characters[i].toUpperCase()   // but spaces and"&" also test as true

接下来,我虽然使用regex并对A-Z进行测试,但是非英语字符集的大写字母可能不在这个范围内。

有人能确定一个字符是否是大写字母吗?


试试这个:

1
2
3
function isUpperCase(c) {
    return c == c.toUpperCase() && c != c.toLowerCase();
}