2013-07-10 100 views
17

有一个Javascript/jquery布尔函数来测试一个字符串是否全部大写?匹配的如何检查一个字符串是否在JavaScript中全部大写?

例如:

"hello" => false 
"Hello" => false 
"HELLO" => true 
+8

不意味着粗鲁,但你可以把你的问题的标题,粘贴在谷歌,你会有一个答案 – NicoSantangelo

+1

你应该在发布前搜索你的标题。这将花费更少的时间比在这里写整个问题 – Sachin

+3

如果我谷歌为''我怎么才能检查一个字符串是全部在JavaScript中的大写?'[我找到这个问题 – Bitterblue

回答

55
function isUpperCase(str) { 
    return str === str.toUpperCase(); 
} 


isUpperCase("hello"); // false 
isUpperCase("Hello"); // false 
isUpperCase("HELLO"); // true 

你也可以增加String.prototype

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


"Hello".isUpperCase(); // false 
"HELLO".isUpperCase(); // true 
+6

'isUpperCase(“123”); // true' –

+0

要重申Derek的评论......仅包含数字的字符串将返回true,并不正确地指示所有大写字母。 – Stuart

+0

@Stuart为什么不正确?我猜这里的问题是,没有字符的字符串拥有大写字母的能力在is-uppercase的真实面上是不允许的? – Bitterblue

1

只需使用:

if(mystring === mystring.toUpperCase()) 
1
var test = "HELLO"; 
var upper = test.toUpperCase(); 

return test === upper; // true 

// other example 

var test = "Hello"; 
var upper = test.toUpperCase(); 

return test === upper; // false 
15

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

s.toUpperCase() === s

+0

+1这两个句子! – DarkBee

+2

哈哈,有人亲自拍下了。对你有好处(我有一个downvote)! – 2013-07-10 14:20:35

+1

我***'爱'***简答题! – Bitterblue

8

这里的另一种选择:

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

不错,但通过将正则表达式更改为'/^[A-Z] * $ /',它也会丢弃数字和标点符号。 – Konamiman

相关问题