Comparación de cadenas sin distinción de mayúsculas y minúsculas en JavaScript
-
Utiliza los métodos de cadena
toUpperCase()
/toLowerCase()
para realizar la comparación entre mayúsculas y minúsculas en JavaScript -
Utilice el método de cadena
localeCompare()
para realizar una comparación insensible a mayúsculas y minúsculas en JavaScript -
Usar un método de expresión regular
RegExp
para hacer una comparación sin distinción de mayúsculas y minúsculas en JavaScript
Este artículo explica cómo realizar la comparación de cadenas sin distinción de mayúsculas y minúsculas en JavaScript.
Utiliza los métodos de cadena toUpperCase()
/toLowerCase()
para realizar la comparación entre mayúsculas y minúsculas en JavaScript
En el método toUpperCase()
, las cadenas se convierten primero a mayúsculas o minúsculas y luego se comparan con el operador triple igual ===
.
He aquí un ejemplo.
var stringA = 'This is a JavaScript tutorial';
var stringB = 'THIS is A javascript TUTORIAL';
if (stringA.toUpperCase() === stringB.toUpperCase()) {
alert('The strings are equal.')
} else {
alert('The strings are NOT equal.')
}
Producción :
The strings are equal.
Alternativamente, también puedes convertir las cadenas a minúsculas usando el método toLowercase()
como en el siguiente ejemplo.
var stringA = 'This is a JavaScript tutorial';
var stringB = 'THESE are javascript TUTORIALS';
if (stringA.toLowerCase() === stringB.toLowerCase()) {
alert('The strings are equal.')
} else {
alert('The strings are NOT equal.')
}
Producción :
The strings are NOT equal
Sin embargo, cabe destacar que es preferible el método de las mayúsculas. Esto se debe a que algunos caracteres del alfabeto no pueden hacer un viaje de ida y vuelta cuando se convierten a minúsculas. Esto significa esencialmente que pueden ser incapaces de ser convertidos de una localización a otra de forma que representen esos caracteres de datos con precisión.
Utilice el método de cadena localeCompare()
para realizar una comparación insensible a mayúsculas y minúsculas en JavaScript
Aunque el método anterior ofrece una respuesta fácil, puede no funcionar bien cuando las cadenas incluyen caracteres Unicode. El método de cadena localeCompare
puede encargarse de esto. Se utiliza con la opción sensitivity: 'base'
para capturar todos los caracteres Unicode. Por ejemplo, podemos esto en una sentencia if()
para obtener resultados cuando las cadenas en cuestión son iguales y cuando no lo son:
if ('javascript'.localeCompare('JavaScrpt', undefined, {sensitivity: 'base'}) ==
0) {
alert('The strings are equal')
} else {
alert('The strings are different.')
}
Producción :
The strings are different.
Usar un método de expresión regular RegExp
para hacer una comparación sin distinción de mayúsculas y minúsculas en JavaScript
En este método, usamos el patrón RegExp
con el método test()
para hacer una comparación entre cadenas sin distinción de mayúsculas y minúsculas. Por ejemplo,
const strA = 'This is a case sensitive comparison';
const strB = 'This is a CASE SENSITIVE comparison';
const regex = new RegExp(strA, 'gi');
const comparison = regex.test(strB)
if (comparison) {
alert('Similar strings');
}
else {
alert('Different strings');
}
Producción :
Similar strings