Sådan sammenligner du store og små bogstaver i strenge i JavaScript

Sadan Sammenligner Du Store Og Sma Bogstaver I Strenge I Javascript



Mens en udvikler skriver koden, kan det ofte være nødvendigt at sammenligne to strenge for at sikre, at specifikke opgaver udføres. Sammenligning af strenge uden at være opmærksom på deres bogstaver, såsom store og små bogstaver, er kendt som en sammenligning uden store og små bogstaver. Mange sprog understøtter strengsammenligning med store og små bogstaver og ufølsomhed.

Denne artikel vil illustrere metoderne til forskellen mellem store og små bogstaver i sammenligning af strenge i JavaScript.







Hvordan man kan sammenligne store og små bogstaver i strenge i JavaScript?

Brug følgende foruddefinerede metoder til sammenligning af strenge i JavaScript uden forskel på store og små bogstaver:



    • localeCompare() metode
    • toUpperCase() og toLowerCase() metode
    • Regulært udtryk med test() metode

Lad os se på arbejdet med hver af de ovennævnte tilgange separat.



Metode 1: Versal-ufølsom streng sammenligning ved hjælp af LocaleCompare()-metoden

Den ufølsomme sammenligning af strenge bruger ' localeCompare() ” metode. Denne metode returnerer et tal (positivt, negativt eller nul). Strengene sammenlignes i en sorteringsrækkefølge, hvis referencestrengen er længere end sammenligningsstrengen, eller den kommer efter den sammenlignede streng, giver det et positivt tal. Hvis referencestrengen er kortere eller kommer før den sammenlignede streng, returnerer den et negativt tal. Et nul skal returneres, hvis referencestrengen svarer til den sammenlignede streng.





Syntaks

Følg den angivne syntaks for localeCompare()-metoden:



string1.localeCompare ( string2, lokaliteter, muligheder )


Her,

    • streng 2 ” er sammenligningsstrengen, hvor streng 1 vil blive sammenlignet.
    • lokal ” er sprogmærket.
    • muligheder ” er den lokalitet, som brugeren har angivet, mens han arbejder med den.

Eksempel

Opret to strenge ' streng1 ' og ' streng 2 ', med strenge' linuxhint ' og ' LinuxTip ' henholdsvis:

var string1 = 'linux' ;
var string2 = 'LinuxHint' ;


Sammenlign streng1 med streng2 ved at bruge ' localeCompare() ” metode og gem resultatet i en variabel ” komp ”. Metodens tredje argument vil indstilles som ' følsomhed: 'base' ', der indikerer, at de sammenlignede strenge grundbogstaver ikke er forskellige:

var comp = string1.localeCompare ( streng2, udefineret, { følsomhed: 'grundlag' } )


I betinget sætning skal du kontrollere, om den returnerede værdi af metoden localeCompare() svarer til nul, den udskriver ' Strenge er lige store ', andet, ' Strenge er ikke ens ”:

hvis ( comp == 0 ) {
console.log ( 'Strenge er lige store' ) ;
} andet {
console.log ( 'Strenge er ikke ens' ) ;
}


Produktion

Metode 2: Størrelses-ufølsom streng sammenligning ved hjælp af toUpperCase() og toLowerCase()-metoden

De mest anvendte metoder til at sammenligne strenge, der ikke er følsomme over for store og små bogstaver, er toUpperCase()-metoden eller toLowerCase()-metoden. De konverterer strengene til store eller små bogstaver og sammenligner dem derefter ved hjælp af strenge lighedsoperatører.

Syntaks

For toUpperCase()-metoden skal du bruge følgende metode:

string.toUpperCase ( ) ;


Brug nedenstående syntaks til toLowerCase()-metoden.

string.toLowerCase ( ) ;


Eksempel: Strengsammenligning uden store og små bogstaver ved hjælp af toUpperCase()-metoden

Overvej de ovenfor oprettede strenge ' streng1 ' og ' streng 2 ” og sammenlign dem derefter ved hjælp af toUpperCase()-metoden med strict equality operator:

hvis ( string1.toUpperCase ( ) === string2.toUpperCase ( ) ) {
console.log ( 'Strenge er lige store' ) ;
} andet {
console.log ( 'Strenge er ikke ens' ) ;
}


Outputtet angiver, at begge strenge er ens ved at ignorere store og små bogstaver:


Eksempel: Versal-ufølsom streng sammenligning ved hjælp af toLowerCase()-metoden

Her sammenlignes strengene ved hjælp af toLowerCase()-metoden, der først konverterer strengene til små bogstaver og derefter sammenligner dem ved hjælp af ===-operatoren:

hvis ( string1.tolowerCase ( ) === string2.toLowerCase ( ) ) {
console.log ( 'Strenge er lige store' ) ;
} andet {
console.log ( 'Strenge er ikke ens' ) ;
}


Det tilsvarende output vil være:

Metode 3: Størrelses-ufølsom streng sammenligning ved hjælp af regulært udtryk med test() metode

Det foruddefinerede JavaScript ' prøve() ” metode, som bruger et regulært udtryk, er en anden måde at sammenligne to strenge på. Baseret på det angivne regex bestemmer det, om strenge er ens eller ej.

Syntaks

Følg den givne syntaks for at bruge et regulært udtryk til at sammenligne strengene:

RegExp ( snor, 'gi' )


Her,

    • RegExp ' står for ' almindelig udtryk ”.
    • g ” er den globale variabel, der gør det muligt at kontrollere alle strengene.
    • jeg ” er en flagvariabel, der angiver, at en sag skal ignoreres, mens en streng bruges til at matche mønsteret.

Eksempel

Først skal du oprette et nyt objekt af RegExp() ved at sende en streng og det regulære udtryk som et argument:

var comp = nyt RegExp ( streng1, 'gi' ) ;


Sammenlign strengene ved hjælp af test() metoden:

hvis ( comp.test ( streng 2 ) ) {
console.log ( 'Strenge er lige store' ) ;
} andet {
console.log ( 'Strenge er ikke ens' ) ;
}


Produktion

Konklusion

For at sammenligne tekstufølsomme strenge i JavaScript skal du bruge de foruddefinerede JavaScript-metoder, herunder localeCompare()-metoden, toUpperCase()- og toLowerCase()-metoden eller test()-metoden med regulært udtryk. Metoderne 'toUpperCase() og toLowerCase()' er den mest anvendte tilgang til at sammenligne to strenge, der ikke er følsomme over for store og små bogstaver. Denne artikel illustrerede de forskellige måder, hvorpå man kan sammenligne strenge i JavaScript uden forskel på store og små bogstaver.