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

时间:2014-05-23 04:05:58

标签: javascript fonts

关于可能重复的问题的说明

该问题的公认答案不起作用。

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

但我现在看到其他答案之一确实提供了一个成功的解决方案。上一个问题的正确答案来自ciembor。我会留下这个问题,因为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

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

任何人都有办法确定角色是否是大写字母?

1 个答案:

答案 0 :(得分:4)

试试这个:

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