es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo verificar si una cadena contiene tanto letras minúsculas como mayúsculas en JS?

Quiero escribir una función que verifique si una cadena contiene letras minúsculas y mayúsculas. Si ambas están presentes, debería devolver verdadero, y si falta alguna de ellas, debería devolver falso.

function lowercaseUppercase (letterCase) {

if (letterCase == letterCase.toUpperCase()) 
  {
  return true; 
} else {
  return false; 
};
}

console.log(lowercaseUppercase("GGG"))

Esto devolverá verdadero si uso letras mayúsculas y falso si paso letras minúsculas a esta función. Si sustituyo letterCase.toUpperCase() por letterCase.toLowerCase(), funciona. Quiero que la función verifique que ambos parámetros sean verdaderos.

¿Puedo usar el operador && para verificar ambos?

function lowercaseUppercase (letterCase) {

if (letterCase == letterCase.toUpperCase() &&
      letterCase == letterCase.toLowerCase()) 
  {
  return true; 
} else {
  return false; 
};
}

Esto no funciona y devuelve falso tanto para mayúsculas, minúsculas y una combinación de ambas.

Si ambas están presentes, quiero que devuelva verdadero, y si falta alguna de ellas, debería devolver falso.

¿Alguien puede señalar dónde me equivoco? 🙂

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Sí, puedes usar el operador && para verificar si la cadena contiene tanto caracteres en mayúscula como en minúscula. Sin embargo, tu condición es incorrecta. Debería verificar si la cadena contiene tanto caracteres en mayúscula como en minúscula, no si es igual a ambas versiones de sí misma en mayúscula y minúscula. Aquí está el código corregido:

    function lowercaseUppercase(letterCase) {
      var hasLower = false;
      var hasUpper = false;
    
      for (var i = 0; i < letterCase.length; i++) {
        if (letterCase[i] === letterCase[i].toLowerCase()) {
          hasLower = true;
        } else if (letterCase[i] === letterCase[i].toUpperCase()) {
          hasUpper = true;
        }
      }
    
      return hasLower && hasUpper;
    }
    
    console.log(lowercaseUppercase("GGG")); // false
    console.log(lowercaseUppercase("gGG")); // true
    console.log(lowercaseUppercase("ggg")); // false
    console.log(lowercaseUppercase("GgG")); // true
    

    La función verifica cada carácter en la cadena de entrada y establece un indicador hasLower en true si encuentra un carácter en minúscula y hasUpper en true si encuentra un carácter en mayúscula. Al final, devuelve true solo si ambos indicadores son true.

Comments are closed.