How to do case insensitive string comparison? How to do case insensitive string comparison? javascript javascript

How to do case insensitive string comparison?


The simplest way to do it (if you're not worried about special Unicode characters) is to call toUpperCase:

var areEqual = string1.toUpperCase() === string2.toUpperCase();


EDIT: This answer was originally added 9 years ago. Today you should use localeCompare with the sensitivity: 'accent' option:

function ciEquals(a, b) {    return typeof a === 'string' && typeof b === 'string'        ? a.localeCompare(b, undefined, { sensitivity: 'accent' }) === 0        : a === b;}console.log("'a' = 'a'?", ciEquals('a', 'a'));console.log("'AaA' = 'aAa'?", ciEquals('AaA', 'aAa'));console.log("'a' = 'á'?", ciEquals('a', 'á'));console.log("'a' = 'b'?", ciEquals('a', 'b'));