Convierta la cadena de JavaScript para que esté en minúsculas

6 minutos de lectura

Avatar de usuario de Derek
Derek

¿Cómo puedo convertir un valor de cadena de JavaScript para que esté en minúsculas?

Ejemplo: "Your Name" a "your name"

Avatar de usuario de John Topley
Juan Topley

var lowerCaseName = "Your Name".toLowerCase();

  • Considere esto también, “toLowerCase no afecta el valor de la cadena str en sí”. Esto se basa en una documentación aquí. desarrollador.mozilla.org/en-US/docs/Web/JavaScript/Reference/…

    – Cary Bondoc

    27 de junio de 2014 a las 0:52

  • ¿Qué es la complejidad temporal y espacial de toLowerCase() ¿función?

    – Rami Chasygov

    04/04/2018 a las 17:41


  • @RamzanChasygov Es a la vez O (n) y más rápido que volver a implementarlo en JavaScript, a menos que tenga un motor de JavaScript programado por idiotas muy inteligentes.

    – wizzwizz4

    9 de abril de 2018 a las 12:13


  • Una forma más segura de invocar toLowerCase() en las variables sería (varName || '').toLowerCase();

    – Dinesh Pandiyán

    22 de diciembre de 2018 a las 2:31


Avatar de usuario de Atif Aziz
Atif Aziz

Utilizar cualquiera aLowerCase o toLocaleLowerCase métodos de la Cuerda objeto. la diferencia es que toLocaleLowerCase tendrá en cuenta la configuración regional actual del usuario/host. Según el § 15.5.4.17 de la Especificación del lenguaje ECMAScript (ECMA-262), toLocaleLowerCase

…funciona exactamente igual que toLowerCase excepto que su resultado está destinado a generar el resultado correcto para la configuración regional actual del entorno host, en lugar de un resultado independiente de la configuración regional. Solo habrá una diferencia en los pocos casos (como el turco) donde las reglas para ese idioma entran en conflicto con las asignaciones de casos regulares de Unicode.

Ejemplo:

var lower="Your Name".toLowerCase();

También tenga en cuenta que el toLowerCase y toLocaleLowerCase se implementan funciones para trabajar de forma genérica sobre ningún tipo de valor. Por lo tanto, puede invocar estas funciones incluso en dispositivos que no seanString objetos. Si lo hace, implicará la conversión automática a un valor de cadena antes de cambiar el caso de cada carácter en el valor de cadena resultante. Por ejemplo, puedes aplicar toLowerCase directamente en una fecha como esta:

var lower = String.prototype.toLowerCase.apply(new Date());

y que es efectivamente equivalente a:

var lower = new Date().toString().toLowerCase();

La segunda forma es generalmente preferida por su simplicidad y legibilidad. En versiones anteriores de IE, la primera tenía la ventaja de que podía funcionar con un null valor. El resultado de aplicar toLowerCase o toLocaleLowerCase en null rendiría null (y no una condición de error).

  • la parte sobre String.prototype.toLowerCase.apply(null) regresando null no parece ser correcto. lanza un TypeError excepción cuando lo intento.

    – JohnnyHK

    20 de julio de 2013 a las 15:52

  • @JohnnyHK Tienes razón. Ese bit solía ser cierto en versiones anteriores de IE donde se probó en el momento en que se publicó originalmente la respuesta. He actualizado la respuesta para reflejar sus comentarios. Gracias.

    – Atif Aziz

    18 de diciembre de 2013 a las 12:28

avatar de usuario de pkaeding
comprando

Sí, cualquier cadena en JavaScript tiene un toLowerCase() método que devolverá una nueva cadena que es la cadena anterior en minúsculas. La cadena anterior permanecerá sin cambios.

Entonces, puedes hacer algo como:

"Foo".toLowerCase();
document.getElementById('myField').value.toLowerCase();

avatar de usuario de sanilunlu
sanilunlu

toLocaleUpperCase() o las funciones en minúsculas no se comportan como deberían. Por ejemplo, en mi sistema, con Safari 4, Chrome 4 Beta y Firefox 3.5.x, convierte incorrectamente cadenas con caracteres turcos. Los navegadores responden a navigator.language como “en-US”, “tr”, “en-US” respectivamente.

Pero no hay forma de obtener la configuración de Aceptar idioma del usuario en el navegador hasta donde pude encontrar.

Solo Chrome me da problemas, aunque he configurado todos los navegadores como tr-TR locale preferido. Creo que esta configuración solo afecta el encabezado HTTP, pero no podemos acceder a esta configuración a través de JavaScript.

En el Documentación de Mozilla dice “Los caracteres dentro de una cadena se convierten a… respetando la configuración regional actual. Para la mayoría de los idiomas, esto devolverá lo mismo que…”. Creo que es válido para turco, y no difiere si está configurado como es o tr.

En turco debería convertir “DİNÇ” a “dinç” y “DINÇ” a “dınç” o viceversa.

avatar de usuario de ewwink
ewwink

Solo un ejemplo para toLowerCase(), toUpperCase() y un prototipo para el aún no disponible toTitleCase() o toProperCase():

String.prototype.toTitleCase = function() {
  return this.split(' ').map(i => i[0].toUpperCase() + i.substring(1).toLowerCase()).join(' ');
}

String.prototype.toPropperCase = function() {
  return this.toTitleCase();
}

var OriginalCase="Your Name";
var lowercase = OriginalCase.toLowerCase();
var upperCase = lowercase.toUpperCase();
var titleCase = upperCase.toTitleCase();

console.log('Original: ' + OriginalCase);
console.log('toLowerCase(): ' + lowercase);
console.log('toUpperCase(): ' + upperCase);
console.log('toTitleCase(): ' + titleCase);

  • -1 este código es muy propenso a errores con todo lo que no sea ASCII. Por ejemplo, con la entrada alemana “die straße”, obtendrá “Die Strasse” como título. Correcto sería “Die Straße”. Aparte de eso, la contaminación por prototipos hoy en día está mal vista.

    – ComFreek

    18 de abril de 2020 a las 13:40


  • @ComFreek Podría haber sido defectuoso en ese entonces, pero por ahora, funciona bastante bien con node V17 y chrome V104

    – polendina

    18 ago a las 17:05


Avatar de usuario de Peter Mortensen
Pedro Mortensen

Presté atención a que mucha gente están mirando por strtolower() en JavaScript. Esperan el mismo nombre de función que en otros idiomas, y es por eso que esta publicación está aquí.

Recomendaría usar un nativo Función JavaScript:

"SomE StriNg".toLowerCase()

Aquí está la función que se comporta exactamente igual que la de PHP (para aquellos que están transfiriendo código PHP a JavaScript)

function strToLower (str) {
    return String(str).toLowerCase();
}

  • -1 este código es muy propenso a errores con todo lo que no sea ASCII. Por ejemplo, con la entrada alemana “die straße”, obtendrá “Die Strasse” como título. Correcto sería “Die Straße”. Aparte de eso, la contaminación por prototipos hoy en día está mal vista.

    – ComFreek

    18 de abril de 2020 a las 13:40


  • @ComFreek Podría haber sido defectuoso en ese entonces, pero por ahora, funciona bastante bien con node V17 y chrome V104

    – polendina

    18 ago a las 17:05


Avatar de usuario de Peter Mortensen
Pedro Mortensen

Métodos o funciones: toLowerCase() y toUpperCase()

Descripción: Estos métodos se utilizan para cubrir una cadena o alfabeto de minúsculas a mayúsculas o viceversa. Por ejemplo, “y” a “Y”.

Convertir a mayúsculas:

Código de ejemplo:

<script language=javascript>
    var ss = " testing case conversion method ";
    var result = ss.toUpperCase();
    document.write(result);
</script>

Resultado: MÉTODO DE CONVERSIÓN DE CASO DE PRUEBA

Convertir a minúsculas:

Código de ejemplo:

<script language=javascript>
    var ss = " TESTING LOWERCASE CONVERT FUNCTION ";
    var result = ss.toLowerCase();
    document.write(result);
</script>

Resultado: probando la función de conversión a minúsculas

Explicación: En los ejemplos anteriores,

  • El método toUpperCase() convierte cualquier cadena en letras mayúsculas “MAYÚSCULAS”.

  • El método toLowerCase() convierte cualquier cadena en letras “minúsculas”.

¿Ha sido útil esta solución?