Как выполнить сравнение строк без учета регистра в JavaScript

Kak Vypolnit Sravnenie Strok Bez Uceta Registra V Javascript



При написании кода разработчику часто может потребоваться сравнить две строки, чтобы убедиться, что определенные задачи выполнены. Сравнение строк без учета их регистра, например заглавных и строчных букв, называется сравнением без учета регистра. Многие языки поддерживают сравнение строк с учетом и нечувствительностью к регистру.

В этой статье будут показаны методы сравнения строк без учета регистра в JavaScript.







Как выполнить сравнение строк без учета регистра в JavaScript?

Для сравнения строк без учета регистра в JavaScript используйте следующие предопределенные методы:



    • метод localeCompare()
    • Метод toUpperCase() и toLowerCase()
    • Регулярное выражение с методом test()

Рассмотрим работу каждого из вышеперечисленных подходов по отдельности.



Метод 1: сравнение строк без учета регистра с использованием метода LocaleCompare()

При сравнении строк без учета регистра используется « локальСравнить() метод. Этот метод возвращает число (положительное, отрицательное или ноль). Строки сравниваются в порядке сортировки, если ссылочная строка длиннее сравниваемой строки или идет после сравниваемой строки, она дает положительное число. Если ссылочная строка короче или стоит перед сравниваемой строкой, возвращается отрицательное число. Нуль должен быть возвращен, если ссылочная строка эквивалентна сравниваемой строке.





Синтаксис

Следуйте заданному синтаксису для метода localeCompare():



string1.localeСравнить ( строка2, локали, параметры )


Здесь,

    • строка2 ” — это строка сравнения, где будет сравниваться строка 1.
    • местный ” — языковой тег.
    • опции ” — это локаль, предоставленная пользователем при работе с ней.

Пример

Создайте две строки « строка1 ' а также ' строка2 ', со строками' линуксинт ' а также ' LinuxПодсказка ' соответственно:

переменная строка1 = «линукс» ;
переменная строка2 = 'Подсказка Linux' ;


Сравните строку1 со строкой2, используя « локальСравнить() ' и сохранить результат в переменной ' комп ». Третий аргумент метода будет установлен как « чувствительность: «базовая» », что указывает на то, что базовые буквы сравниваемых строк не отличаются:

var comp = string1.localeCompare ( строка2, не определено, { чувствительность: 'база' } )


В условном выражении проверьте, эквивалентно ли возвращаемое значение метода localeCompare() нулю, оно печатает « Строки равны ', еще, ' Строки не равны ”:

если ( комп == 0 ) {
console.log ( «Строки равны» ) ;
} еще {
console.log ( «Строки не равны» ) ;
}


Выход

Метод 2: Сравнение строк без учета регистра с использованием методов toUpperCase() и toLowerCase()

Наиболее часто используемые подходы для сравнения строк, нечувствительных к регистру, — это метод toUpperCase() или метод toLowerCase(). Они преобразуют строки в верхний или нижний регистр, а затем сравнивают их с помощью операторов строгого равенства.

Синтаксис

Для метода toUpperCase() используйте следующий метод:

строка.toUpperCase ( ) ;


Используйте приведенный ниже синтаксис для метода toLowerCase().

строка.toLowerCase ( ) ;


Пример. Сравнение строк без учета регистра с использованием метода toUpperCase()

Рассмотрим созданные выше строки « строка1 ' а также ' строка2 ”, а затем сравните их с помощью метода toUpperCase() с оператором строгого равенства:

если ( string1.toUpperCase ( ) === string2.toUpperCase ( ) ) {
console.log ( «Строки равны» ) ;
} еще {
console.log ( «Строки не равны» ) ;
}


Вывод указывает, что обе строки равны, игнорируя регистр:


Пример. Сравнение строк без учета регистра с использованием метода toLowerCase()

Здесь строки сравниваются с помощью метода toLowerCase(), который сначала преобразует строки в нижний регистр, а затем сравнивает их с помощью оператора ===:

если ( string1.toLowerCase ( ) === string2.toLowerCase ( ) ) {
console.log ( «Строки равны» ) ;
} еще {
console.log ( «Строки не равны» ) ;
}


Соответствующий вывод будет:

Метод 3: сравнение строк без учета регистра с использованием регулярного выражения с методом test()

Предопределенный JavaScript» тест() ”, использующий регулярное выражение, — это еще один способ сравнения двух строк. На основе указанного регулярного выражения он определяет, равны ли строки или нет.

Синтаксис

Следуйте приведенному синтаксису для использования регулярного выражения для сравнения строк:

регулярное выражение ( нить, 'ги' )


Здесь,

    • регулярное выражение означает « регулярное выражение ».
    • грамм ” — это глобальная переменная, которая позволяет проверять все строки.
    • я ” — это флаговая переменная, указывающая, что регистр следует игнорировать при использовании строки для соответствия шаблону.

Пример

Сначала создайте новый объект RegExp(), передав строку и регулярное выражение в качестве аргумента:

var comp = новое регулярное выражение ( строка1, 'ги' ) ;


Сравните строки с помощью метода test():

если ( комп.тест ( строка2 ) ) {
console.log ( «Строки равны» ) ;
} еще {
console.log ( «Строки не равны» ) ;
}


Выход

Вывод

Чтобы сравнить строки без учета регистра в JavaScript, используйте предопределенные методы JavaScript, включая метод localeCompare(), метод toUpperCase() и toLowerCase() или метод test() с регулярным выражением. Методы «toUpperCase() и toLowerCase()» являются наиболее часто используемым подходом для сравнения двух строк без учета регистра. В этой статье показаны различные способы сравнения строк без учета регистра в JavaScript.