如何使用JavaScript测试字符串中的字母是大写还是小写?
当前回答
其他答案的问题是,一些字符,如数字或标点符号,在检查小写/大写时也返回true。
我发现这个方法非常有效:
function isLowerCase(str)
{
return str == str.toLowerCase() && str != str.toUpperCase();
}
这适用于标点符号、数字和字母:
assert(isLowerCase("a"))
assert(!isLowerCase("Ü"))
assert(!isLowerCase("4"))
assert(!isLowerCase("_"))
要检查一个字母,只需使用isLowerCase(str[charIndex])
其他回答
更确切地说,是关于被问到的问题。传入一个字符串和一个要检查的位置。和Josh的很接近,只是这个比较的是更大的字符串。会添加作为一个评论,但我还没有这个能力。
function isUpperCase(myString, pos) {
return (myString.charAt(pos) == myString.charAt(pos).toUpperCase());
}
function isLowerCase(myString, pos) {
return (myString.charAt(pos) == myString.charAt(pos).toLowerCase());
}
我最近是这样做的:
1)检查字符/字符串s是否是小写的
s. tolowercase () == s && s. touppercase ()
2) s为大写
s. touppercase () == s && s. tolowercase ()
涵盖s包含非字母字符和变音符符号的情况。
function isUpperCase(myString) {
return (myString == myString.toUpperCase());
}
function isLowerCase(myString) {
return (myString == myString.toLowerCase());
}
请参阅我对所选答案的评论。其他限制ASCII表或使用实际字符字面量的解决方案完全忽略了Unicode和那里有大小写的数百个其他字符。
这段代码将把caseGroup变量设置为:
1为大写 -1表示小写 0表示不带大小写 var caseGroup = (character.toLowerCase() == character.toUpperCase() ?0:(character == character. touppercase () ?1: -1));
你可以把它烤成这样……
function determineCase(character) {
return (character.toLowerCase() == character.toUpperCase() ? 0 : (character == character.toUpperCase() ? 1 : -1));
}
function isUpper(character) {
return determineCase(character) == 1;
}
function isLower(character) {
return determineCase(character) == -1;
}
function hasCase(character) {
return determineCase(character) != 0;
}
function checkCharType (charToCheck) {
// body...
var returnValue = "O";
var charCode = charToCheck.charCodeAt(0);
if(charCode >= "A".charCodeAt(0) && charCode <= "Z".charCodeAt(0)){
returnValue = "U";
}else if (charCode >= "a".charCodeAt(0) &&
charCode <= "z".charCodeAt(0) ){
returnValue = "L";
}else if (charCode >= "0".charCodeAt(0) &&
charCode <= "9".charCodeAt(0) ) {
returnValue = "N";
}
return returnValue;
}
var myString = prompt("Enter Some text: ", "Hello world !");
switch (checkCharType(myString)) {
case "U":
// statements_1
document.write("First character was upper case");
break;
case "L":
document.write("First character was a lower case");
break;
case "N":
document.write("First character was a number");
break
default:
// statements_def
document.write("First character was not a character or a number");
break;
}
Define a Function checkCharType().By declaring the variable returnValue and initialising it to the Character "O" to indicate it's Some other value. U for uppercase; L for Lowercase ; N for number Use the charCodeAt() method to get the character code of the first character. Using if Statement , which check within what range of values the character code falls. If it falls between the character codes for A and Z, Its Uppercase, character code between a and z ,Its Lowercase. and so on. "A".charCode(0) var myChar = new String("A"); myChar.charCodeAt(0); "A" : number code "65“ Check the String