90 votos

¿Cómo puedo comprobar si una letra de una cadena está en mayúsculas o en minúsculas usando JavaScript?

¿Cómo puedo comprobar si una letra de una cadena está en mayúsculas o en minúsculas usando JavaScript?

391voto

La respuesta de josh y maleki devolverá true tanto en mayúsculas como en minúsculas si el carácter o la cadena completa es numérica. haciendo que el resultado sea falso. ejemplo usando josh

var character = '5';
if (character == character.toUpperCase()) {
 alert ('upper case true');
}
if (character == character.toLowerCase()){
 alert ('lower case true');
}

otra forma es probar primero si es numérico, y luego probar si es mayúscula o minúscula ejemplo

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++;
}

50voto

WebFreak001 Puntos 1914

El problema con las otras respuestas es que algunos caracteres, como los números o la puntuación, también devuelven true cuando se comprueba si hay minúsculas o mayúsculas.

Esto me ha funcionado muy bien:

function isLowerCase(str)
{
    return str == str.toLowerCase() && str != str.toUpperCase();
}

Esto funcionará para la puntuación, los números y las letras:

assert(isLowerCase("a"))
assert(!isLowerCase("Ü"))
assert(!isLowerCase("4"))
assert(!isLowerCase("_"))

Para comprobar una letra basta con llamarla mediante isLowerCase(str[charIndex])

35voto

const isUpperCase = (string) => /^[A-Z]*$/.test(string)

entonces :

isUpperCase('A') // true
isUpperCase('a') // false

27voto

Daniel Vandersluis Puntos 30498
if (character == character.toLowerCase())
{
  // The character is lowercase
}
else
{
  // The character is uppercase
}

18voto

ciembor Puntos 1472

Esto registrará el verdadero si el carácter es una letra mayúscula, y registrará el falso en cualquier otro caso:

var letters = ['a', 'b', 'c', 'A', 'B', 'C', '(', ')', '+', '-', '~', '*'];

​​​for (var ​i = 0; i<letters.length; i++) {
    if (letters[i] === letters[i].toUpperCase()
        && letters[i] !== letters[i].toLowerCase()) {
        console.log(letters[i] + ": " + true);
    } else {
        console.log(letters[i] + ": " + false);
    }
}​

Puede probarlo aquí: http://jsfiddle.net/Axfxz/ (use Firebug o algo).

​​​for (var ​i = 0; i<letters.length; i++) {
    if (letters[i] !== letters[i].toUpperCase()
        && letters[i] === letters[i].toLowerCase()) {
        console.log(letters[i] + ": " + true);
    } else {
        console.log(letters[i] + ": " + false);
    }
}​

y esto es para las minúsculas:).

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X