如何检查字符串在JavaScript中是否都是大写?

如何检查字符串在JavaScript中是否都是大写?,javascript,string,Javascript,String,有一个Javascript/Jquery布尔函数来测试字符串是否都是大写的 匹配示例: "hello" => false "Hello" => false "HELLO" => true 您还可以扩充字符串。prototype: String.prototype.isUpperCase = function() { return this.valueOf().toUpperCase() === this.valueOf(); }; "Hello".isUpperC

有一个Javascript/Jquery布尔函数来测试字符串是否都是大写的

匹配示例:

"hello" => false
"Hello" => false
"HELLO" => true
您还可以扩充
字符串。prototype

String.prototype.isUpperCase = function() {
    return this.valueOf().toUpperCase() === this.valueOf();
};


"Hello".isUpperCase(); // false
"HELLO".isUpperCase(); // true
只需使用:

if(mystring === mystring.toUpperCase())

我必须在这里至少写一句话,因为他们不喜欢这里的简短答案,但这是我能想到的最简单的解决方案:

s.toUpperCase() === s
还有一个选择:

function isUpperCase(str) {
  return (/^[^a-z]*$/).test(str);
}

+这两句话是1!哈哈,有人把它当真了。对你有好处(我投了反对票)!我爱你简短的回答!最简单、最前卫的解决方案。
isUpperCase(“123”);//true
重申德里克的评论。。。仅由数字组成的字符串将返回true,错误地指示所有大写。@Stuart为什么不正确?我想这里的问题是,没有具有大写功能的字符的字符串不允许出现在is uppercase?@Bitterblue的真实面上,这是我的理解。应该有所有的大写字符,数字都不是。@Stuart我不是在争论,只是在说。如果您需要知道某个成员是常量而不是变量,该怎么办?您所拥有的只是名称:
myVariable
MY_CONSTANT
MY_CONSTANT_123
。很好,但是将正则表达式更改为
/^[A-Z]*$/
也会丢弃数字和标点符号。请小心使用上述正则表达式,因为它会拒绝像“ABC123”这样的字符串,因为它显然是大写的。相反,使用这个正则表达式:
函数isUpper(str){return!/[a-z]/.test(str)&&/[a-z]/.test(str)}
。像“123”或“WE23a”这样的字符串返回false,而像“W390”这样的字符串返回true。@AlienKevin您是指这个答案中的正则表达式吗?它不拒绝字符串“ABC123”;它拒绝任何包含小写字母的字符串。@DanTao抱歉,我的错误。您的正则表达式不拒绝“ABC123”,但接受非大写的“123”。这就是为什么我提出了一个更健壮的版本。如果我搜索
“我如何检查一个字符串在JavaScript中是否都是大写的?[重复]”
我发现这个问题是一样的,这是测试整个字符串是否都是大写的最高结果。此外,测试整个字符串与检查特定字符略有不同。
s.toUpperCase() === s
function isUpperCase(str) {
  return (/^[^a-z]*$/).test(str);
}