如何使用JavaScript测试字符串中的字母是大写还是小写?
当前回答
if (character == character.toLowerCase())
{
// The character is lowercase
}
else
{
// The character is uppercase
}
其他回答
我需要测试任何字符的字符串(包括空白,标记,数字,unicode字符…)因为空白、数字、标记……大写字母和小写字母都是一样的,我想找到真正的大写字母,我这样做:
let countUpperCase = 0;
let i = 0;
while (i <= string.length) {
const character = string.charAt(i);
if (character === character.toUpperCase() && character !== character.toLowerCase()) {
countUpperCase++;
}
i++;
}
这是直接的,可读的解决方案使用一个简单的正则表达式。
// Get specific char in string
const char = string.charAt(index);
const isLowerCaseLetter = (/[a-z]/.test(char));
const isUpperCaseLetter = (/[A-Z]/.test(char));
这个问题显然已经回答过很多次了,但我想分享一下我的解决方案,因为我在给出的答案中没有看到它。
var lower_case = function(letter){
lowers = "abcdefghijklmnopqrstuvwxyz";
return letter === letter.toLowerCase() && lowers.indexOf(letter) >= 0
};
var upper_case = function(letter){
uppers = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
return letter === letter.toUpperCase() && uppers.indexOf(letter) >= 0
};
2¢
你也可以使用这个,它将检查字符串的小写字母和大写字母
var s = "a"
if(/[a-z]/.test(s)){
alert ('lower case true');
}
if(/[A-Z]/.test(s)) {
alert ('upper case true');
}
其他答案的问题是,一些字符,如数字或标点符号,在检查小写/大写时也返回true。
我发现这个方法非常有效:
function isLowerCase(str)
{
return str == str.toLowerCase() && str != str.toUpperCase();
}
这适用于标点符号、数字和字母:
assert(isLowerCase("a"))
assert(!isLowerCase("Ü"))
assert(!isLowerCase("4"))
assert(!isLowerCase("_"))
要检查一个字母,只需使用isLowerCase(str[charIndex])