如何使用JavaScript测试字符串中的字母是大写还是小写?
当前回答
function isCapital(ch){
return ch.charCodeAt() >= 65 && ch.charCodeAt() <= 90;
}
其他回答
if (character == character.toLowerCase())
{
// The character is lowercase
}
else
{
// The character is uppercase
}
在现代浏览器中,您可以使用regexp和unicode属性测试。
/\p{Lu}/u.test("A") // is true
/\p{Lu}/u.test("Å") // is true
/\p{Lu}/u.test("a1å") // is false
更多信息:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions/Unicode_Property_Escapes
一般类别列表如下:
https://unicode.org/reports/tr18/#General_Category_Property
josh和maleki的答案如果字符或整个字符串都是数字,则在大写和小写都返回true。使结果为假结果。 使用josh的例子
var character = '5';
if (character == character.toUpperCase()) {
alert ('upper case true');
}
if (character == character.toLowerCase()){
alert ('lower case true');
}
另一种方法是首先测试它是否为数字,否则测试它是否为大写或小写 例子
var strings = 'this iS a TeSt 523 Now!';
var i=0;
var character='';
while (i <= strings.length){
character = strings.charAt(i);
if (!isNaN(character * 1)){
alert('character is numeric');
}else{
if (character == character.toUpperCase()) {
alert ('upper case true');
}
if (character == character.toLowerCase()){
alert ('lower case true');
}
}
i++;
}
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
其他答案的问题是,一些字符,如数字或标点符号,在检查小写/大写时也返回true。
我发现这个方法非常有效:
function isLowerCase(str)
{
return str == str.toLowerCase() && str != str.toUpperCase();
}
这适用于标点符号、数字和字母:
assert(isLowerCase("a"))
assert(!isLowerCase("Ü"))
assert(!isLowerCase("4"))
assert(!isLowerCase("_"))
要检查一个字母,只需使用isLowerCase(str[charIndex])