Jak porównywać ciągi znaków bez rozróżniania wielkości liter w JavaScript

Jak Porownywac Ciagi Znakow Bez Rozrozniania Wielkosci Liter W Javascript



Podczas pisania kodu programista często musi porównać dwa ciągi znaków, aby upewnić się, że określone zadania zostały wykonane. Porównywanie ciągów bez zwracania uwagi na wielkość liter, takie jak wielkie i małe litery, jest znane jako porównanie bez uwzględniania wielkości liter. Wiele języków obsługuje porównywanie ciągów z rozróżnianiem wielkości liter i niewrażliwością.

Ten artykuł zilustruje metody porównywania ciągów znaków w JavaScript bez uwzględniania wielkości liter.







Jak porównywać ciągi bez rozróżniania wielkości liter w JavaScript?

Aby porównywać ciągi znaków w JavaScript bez rozróżniania wielkości liter, użyj następujących predefiniowanych metod:



    • metoda localeCompare()
    • Metoda toUpperCase() i toLowerCase()
    • Wyrażenie regularne z metodą test()

Przyjrzyjmy się działaniu każdego z wyżej wymienionych podejść z osobna.



Metoda 1: Porównanie ciągów bez rozróżniania wielkości liter przy użyciu metody LocaleCompare()

Porównanie ciągów bez rozróżniania wielkości liter wykorzystuje „ ustawienia regionalnePorównaj() ' metoda. Ta metoda zwraca liczbę (dodatnią, ujemną lub zero). Ciągi są porównywane w kolejności sortowania, jeśli ciąg odniesienia jest dłuższy niż ciąg porównania lub występuje za porównywanym ciągiem, daje liczbę dodatnią. Jeśli ciąg odniesienia jest krótszy lub występuje przed porównywanym ciągiem, zwraca liczbę ujemną. Zero powinno zostać zwrócone, jeśli ciąg odniesienia jest równoważny porównywanemu ciągowi.





Składnia

Postępuj zgodnie z podaną składnią dla metody localeCompare():



string1.localePorównaj ( string2, lokalizacje, opcje )


Tutaj,

    • ciąg2 ” to porównywany ciąg, w którym porównywany będzie ciąg 1.
    • lokalny ” to znacznik języka.
    • opcje ” to ustawienia regionalne podane przez użytkownika podczas pracy z nim.

Przykład

Utwórz dwa ciągi „ ciąg1 ' oraz ' ciąg2 ”, z napisami „ linuxhint ' oraz ' LinuxWskazówka odpowiednio:

zmienna ciąg1 = „linux” ;
zmienna ciąg2 = „Podpowiedź do Linuksa” ;


Porównaj ciąg1 z ciąg2 za pomocą „ ustawienia regionalnePorównaj() ” metoda i zapisz wynik w zmiennej “ komp ”. Trzeci argument metody zostanie ustawiony jako „ czułość: „baza” ”, który wskazuje, że porównywane litery podstawowe ciągów nie różnią się:

var comp = string1.localeCompare ( ciąg2, niezdefiniowany, { wrażliwość: 'baza' } )


W instrukcji warunkowej sprawdź, czy zwrócona wartość metody localeCompare() jest równa zero, wypisuje „ Ciągi są równe ', w przeciwnym razie, ' Ciągi nie są równe ”:

jeśli ( komp == 0 ) {
konsola.log ( „Struny są równe” ) ;
} w przeciwnym razie {
konsola.log ( „Struny nie są równe” ) ;
}


Wyjście

Metoda 2: Porównanie ciągów bez uwzględniania wielkości liter przy użyciu metody toUpperCase() i toLowerCase()

Najczęściej stosowanymi podejściami do porównywania ciągów nieuwzględniających wielkości liter są metoda toUpperCase() lub metoda toLowerCase(). Konwertują ciągi na wielkie lub małe litery, a następnie porównują je za pomocą operatorów ścisłej równości.

Składnia

W przypadku metody toUpperCase() użyj następującej metody:

string.toUpperCase ( ) ;


Użyj poniższej składni dla metody toLowerCase().

string.toLowerCase ( ) ;


Przykład: Porównanie ciągów bez rozróżniania wielkości liter przy użyciu metody toUpperCase()

Rozważ powyższe utworzone ciągi „ ciąg1 ' oraz ' ciąg2 ”, a następnie porównaj je za pomocą metody toUpperCase() z operatorem ścisłej równości:

jeśli ( string1.toUpperCase ( ) === ciąg2.doWielkich liter ( ) ) {
konsola.log ( „Struny są równe” ) ;
} w przeciwnym razie {
konsola.log ( „Struny nie są równe” ) ;
}


Dane wyjściowe wskazują, że oba ciągi są równe, ignorując wielkość liter:


Przykład: Porównanie ciągów bez rozróżniania wielkości liter przy użyciu metody toLowerCase()

Tutaj ciągi są porównywane za pomocą metody toLowerCase(), która najpierw konwertuje ciągi na małe litery, a następnie porównuje je za pomocą operatora === :

jeśli ( string1.toLowerCase ( ) === string2.toLowerCase ( ) ) {
konsola.log ( „Struny są równe” ) ;
} w przeciwnym razie {
konsola.log ( „Struny nie są równe” ) ;
}


Odpowiednie wyjście będzie:

Metoda 3: Porównanie ciągów bez rozróżniania wielkości liter przy użyciu wyrażeń regularnych z metodą test()

Wstępnie zdefiniowany kod JavaScript „ test() Metoda ”, która używa wyrażenia regularnego, to kolejny sposób na porównanie dwóch ciągów. Na podstawie określonego wyrażenia regularnego określa, czy ciągi są równe, czy nie.

Składnia

Postępuj zgodnie z podaną składnią, aby użyć wyrażenia regularnego do porównania ciągów:

RegExp ( strunowy, 'żołnierz amerykański' )


Tutaj,

    • RegExp ' oznacza ' Wyrażenie regularne ”.
    • g ” to zmienna globalna, która umożliwia sprawdzenie wszystkich ciągów.
    • i ” to zmienna flagi, która wskazuje, że wielkość liter powinna zostać zignorowana podczas używania łańcucha pasującego do wzorca.

Przykład

Najpierw utwórz nowy obiekt RegExp(), przekazując jako argument ciąg i wyrażenie regularne:

var comp = nowe wyrażenie regularne ( sznurek1, 'żołnierz amerykański' ) ;


Porównaj ciągi za pomocą metody test():

jeśli ( komp.test ( ciąg2 ) ) {
konsola.log ( „Struny są równe” ) ;
} w przeciwnym razie {
konsola.log ( „Struny nie są równe” ) ;
}


Wyjście

Wniosek

Aby porównać ciągi bez rozróżniania wielkości liter w JavaScript, użyj predefiniowanych metod JavaScript, w tym metod localeCompare(), toUpperCase() i toLowerCase() lub metody test() z wyrażeniem regularnym. Metody „toUpperCase() i toLowerCase()” są najczęściej używanym podejściem do porównywania dwóch ciągów nieuwzględniających wielkości liter. Ten artykuł zilustrował różne sposoby porównywania ciągów znaków w JavaScript bez uwzględniania wielkości liter.