Tengo que verificar algunas cadenas usando JavaScript, pero la distinción entre mayúsculas y minúsculas está causando problemas. por ejemplo
if('abc'=='ABC') { return true; }no irá dentro del bucle if aunque el significado de la palabra sea el mismo. No puedo usar la cláusula tolower también, ya que no sé los datos, cómo vendría, significa, por ejemplo:
if('aBc'=='abC') { return true; }cómo escribir la función JS para esto si jquery pudiera hacerlo.
Puede poner ambos argumentos en minúsculas, y de esa manera siempre terminará con una búsqueda que no distingue entre mayúsculas y minúsculas.
var string1 = "aBc"; var string2 = "AbC"; if (string1.toLowerCase() === string2.toLowerCase()) { #stuff }Otro método que usa una expresión regular (esto es más correcto que la respuesta de Zachary):
var string1 = 'someText', string2 = 'SometexT', regex = new RegExp('^' + string1 + '$', 'i'); if (regex.test(string2)) { return true; }RegExp.test() devolverá verdadero o falso.
Además, al agregar '^' (que indica el comienzo de la cadena) al principio y '$' (que indica el final de la cadena) al final, asegúrese de que su expresión regular coincida solo si 'sometext' es el único texto en stringToTest. Si está buscando texto que contenga la expresión regular, está bien omitirlos.
Podría ser más fácil usar el método string.toLowerCase().
Entonces... las expresiones regulares son poderosas, pero solo debes usarlas si entiendes cómo funcionan. Pueden pasar cosas inesperadas cuando usas algo que no entiendes.
Hay toneladas de 'tutoriales' de expresiones regulares, pero la mayoría parece estar tratando de promocionar un determinado producto. Esto es lo que parece un tutorial decente... concedido, está escrito para usar php, pero por lo demás, parece ser un buen tutorial para principiantes: http://weblogtoolscollection.com/regex/regex.php
Esta parece ser una buena herramienta para probar expresiones regulares: http://gskinner.com/RegExr/
También puede usar string.match().
var string1 = "aBc"; var match = string1.match(/AbC/i); if(match) { }