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

mar*_*rkE 1 javascript fonts

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

该问题的公认答案无效。

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

但是我现在看到其他答案之一确实提供了成功的解决方案。关于上一个问题的正确答案来自cimbor。我将发布此问题,因为Barmar接受的答案可以正确解决问题。

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

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

var text="Romeo & Juliet";

var characters=text.split('');

// and test with 

characters[i]===characters[i].toUpperCase()   // but spaces and "&" also test as true
Run Code Online (Sandbox Code Playgroud)

接下来,尽管我使用正则表达式并使用A-Z非英语字符集进行测试,但大写字母可能不在此范围内。

任何人都可以确定字符是否为大写字母吗?

Bar*_*mar 5

尝试这个:

function isUpperCase(c) {
    return c == c.toUpperCase() && c != c.toLowerCase();
}
Run Code Online (Sandbox Code Playgroud)