Hur man skiftar okänslig strängjämförelse i JavaScript

Hur Man Skiftar Okanslig Strangjamforelse I Javascript



När du skriver koden kan en utvecklare ofta behöva jämföra två strängar för att säkerställa att specifika uppgifter slutförs. Att jämföra strängar utan att vara uppmärksamma på deras kasus som versaler och gemener kallas för en skiftlägesokänslig jämförelse. Många språk stöder strängjämförelse med skiftlägeskänslighet och okänslighet.

Den här artikeln kommer att illustrera metoderna för skiftlägesokänslig jämförelse av strängar i JavaScript.







Hur man skiftar okänslig strängjämförelse i JavaScript?

För skiftlägesokänslig jämförelse av strängar i JavaScript, använd följande fördefinierade metoder:



    • localeCompare() metod
    • toUpperCase() och toLowerCase() metoder
    • Reguljärt uttryck med test()-metoden

Låt oss titta på hur var och en av de ovan nämnda tillvägagångssätten fungerar separat.



Metod 1: Skiftlägesokänslig strängjämförelse med metoden LocaleCompare().

Den skiftlägesokänsliga jämförelsen av strängar använder ' localeCompare() 'metoden. Denna metod returnerar ett tal (positivt, negativt eller noll). Strängarna jämförs i en sorteringsordning, om referenssträngen är längre än jämförelsesträngen eller den kommer efter den jämförda strängen ger det ett positivt tal. Om referenssträngen är kortare, eller kommer före den jämförda strängen, returnerar den ett negativt tal. En nolla ska returneras om referenssträngen är likvärdig med den jämförda strängen.





Syntax

Följ den angivna syntaxen för metoden localeCompare():



string1.localeCompare ( string2, språkinställningar, alternativ )


Här,

    • ' sträng2 ” är jämförelsesträngen, där sträng 1 kommer att jämföras.
    • ' lokal ” är språketiketten.
    • ' alternativ ” är det språk som användaren tillhandahåller när han arbetar med det.

Exempel

Skapa två strängar ' sträng1 ' och ' sträng2 ', med strängar' linuxhint ' och ' LinuxTips ' respektive:

var sträng1 = 'linux' ;
var string2 = 'LinuxHint' ;


Jämför sträng1 med sträng2 med hjälp av ' localeCompare() ' metod och lagra resultatet i en variabel ' komp ”. Metodens tredje argument kommer att ställas in som ' känslighet: 'bas' ” som indikerar att de jämförda strängarnas basbokstäver inte skiljer sig:

var comp = string1.localeCompare ( sträng2, odefinierad, { känslighet: 'bas' } )


I villkorssatsen, kontrollera om det returnerade värdet för metoden localeCompare() motsvarar noll, den skriver ut ' Strängar är lika ', annars, ' Strängar är inte lika ”:

om ( komp == 0 ) {
console.log ( 'Strängar är lika' ) ;
} annan {
console.log ( 'Strängar är inte lika' ) ;
}


Produktion

Metod 2: Skiftlägesokänslig strängjämförelse med metoderna toUpperCase() och toLowerCase()

De mest använda metoderna för att jämföra skiftlägesokänsliga strängar är metoden toUpperCase() eller toLowerCase() Method. De omvandlar strängarna till versaler eller gemener och jämför dem sedan med hjälp av strikta jämställdhetsoperatörer.

Syntax

För metoden toUpperCase() använder du följande metod:

string.toUpperCase ( ) ;


Använd syntaxen nedan för toLowerCase()-metoden.

string.toLowerCase ( ) ;


Exempel: Skiftlägesokänslig strängjämförelse med toUpperCase()-metoden

Tänk på de ovan skapade strängarna ' sträng1 ' och ' sträng2 ” och jämför dem sedan med metoden toUpperCase() med strict equality operator:

om ( string1.toUpperCase ( ) === string2.toUpperCase ( ) ) {
console.log ( 'Strängar är lika' ) ;
} annan {
console.log ( 'Strängar är inte lika' ) ;
}


Utdata indikerar att båda strängarna är lika genom att ignorera skiftläge:


Exempel: Skiftlägesokänslig strängjämförelse med toLowerCase()-metoden

Här jämförs strängarna med metoden toLowerCase() som först konverterar strängarna till gemener och sedan jämför dem med operatorn ===:

om ( string1.toLowerCase ( ) === string2.toLowerCase ( ) ) {
console.log ( 'Strängar är lika' ) ;
} annan {
console.log ( 'Strängar är inte lika' ) ;
}


Motsvarande utgång kommer att vara:

Metod 3: Skiftlägesokänslig strängjämförelse med hjälp av reguljära uttryck med test()-metoden

Det fördefinierade JavaScriptet ' testa() ”-metoden, som använder ett reguljärt uttryck, är ett annat sätt att jämföra två strängar. Baserat på det angivna regexet avgör den om strängar är lika eller inte.

Syntax

Följ den givna syntaxen för att använda ett reguljärt uttryck för att jämföra strängarna:

RegExp ( sträng, 'gi' )


Här,

    • ' RegExp ' står för ' vanligt uttryck ”.
    • ' g ” är den globala variabeln som gör det möjligt att kontrollera alla strängar.
    • ' i ” är en flaggvariabel som indikerar att ett fall ska ignoreras när en sträng används för att matcha mönstret.

Exempel

Skapa först ett nytt objekt av RegExp() genom att skicka en sträng och det reguljära uttrycket som ett argument:

var comp = nytt RegExp ( sträng1, 'gi' ) ;


Jämför strängarna med metoden test():

om ( komp.test ( sträng2 ) ) {
console.log ( 'Strängar är lika' ) ;
} annan {
console.log ( 'Strängar är inte lika' ) ;
}


Produktion

Slutsats

För att jämföra skiftlägesokänsliga strängar i JavaScript, använd de fördefinierade JavaScript-metoderna inklusive localeCompare()-metoden, toUpperCase() och toLowerCase()-metoden eller test()-metoden med reguljärt uttryck. Metoderna 'toUpperCase() och toLowerCase()' är den mest använda metoden för att jämföra två skiftlägesokänsliga strängar. Den här artikeln illustrerade de olika sätten för skiftlägesokänslig jämförelse av strängar i JavaScript.