JavaScript String Search

JavaScript method used to search strings:

  • String.indexOf()
  • String.lastIndexOf()
  • String.startsWith()
  • String.endsWith()

String.indexOf()

indexOf() The method returns the specified text in the stringFirst timeThe index of the (position) where it appears:

Voorbeeld

let str = "Please locate where 'locate' occurs!";
str.indexOf("locate")    // Returns 7

Probeer het zelf

JavaScript counts positions from zero.

0 is the first position in the string, 1 is the second, 2 is the third ...

String.lastIndexOf()

lastIndexOf() De methode retourneert de index van de laatste overeenkomst van de specifieke tekst in de string:

Voorbeeld

let str = "Please locate where 'locate' occurs!";
str.lastIndexOf("locate")    // retourneert 21

Probeer het zelf

Als de tekst niet wordt gevonden,indexOf() en lastIndexOf() Ze retourneren beide -1:

Voorbeeld

let str = "Please locate where 'locate' occurs!";
str.lastIndexOf("Bill")    // retourneert -1

Probeer het zelf

Beide methoden accepteren de tweede parameter als de startpositie voor de zoekopdracht:

Voorbeeld

let str = "Please locate where 'locate' occurs!";
str.indexOf("locate", 15)    // retourneert 21

Probeer het zelf

lastIndexOf() De methode zoekt voorwaarts (van achter naar voor), wat betekent dat als de tweede parameter is ingesteld als 15Als de tweede parameter is ingesteld, dan wordt gezocht van positie 15 tot aan het begin van de string.

Voorbeeld

let str = "Please locate where 'locate' occurs!";
str.lastIndexOf("locate", 15)    // retourneert 7

Probeer het zelf

String.search()

search() De methode zoekt naar een specifieke waarde in een string en retourneert de positie van de overeenkomst:

Voorbeeld

let str = "Please locate where 'locate' occurs!";
str.search("locate")     // retourneert 7

Probeer het zelf

Heb je dat opgemerkt?

indexOf() en search() Zijn deze twee methoden gelijk?

Ze accepteren dezelfde parameters en retourneren dezelfde waarden?

Deze twee methoden zijn niet gelijk. Het verschil is als volgt:

  • search() De methode kan geen tweede startpositie parameter accepteren.
  • indexOf() De methode kan geen krachtige zoekwaarden (reguliere expressies) gebruiken.

Je zal meer over reguliere expressies leren in de volgende hoofdstukken.

String.match()

De match() methode zoekt naar overeenkomsten in een string op basis van een reguliere expressie en retourneert de overeenkomsten als een Array-object.

Voorbeeld 1

Zoek "ain" in een string:

let text = "Het regen in SPANJE blijft meestal in de vlakte";
text.match(/ain/g)    // retourneert het array [ain,ain,ain]

Probeer het zelf

Leer meer over reguliere expressies in het hoofdstuk JS RegExp.

Als de reguliere expressie geen g-modificator bevat (globale zoekopdracht uitvoeren), zal de match() methode alleen de eerste overeenkomst in de string retourneren.

Syntax

string.match(regexp)
regexp Verplicht. De te zoeken waarde, een reguliere expressie.
Retourneert: Een array, die de overeenkomsten bevat, elke overeenkomst corresponds met een item, als er geen overeenkomsten worden gevonden, is het null.

Voorbeeld 2

Voer een niet-gesensitive zoekopdracht uit voor "ain":

let text = "Het regen in SPANJE blijft meestal in de vlakte";
text.match(/ain/gi)   // Retourneert array [ain,AIN,ain,ain]}

Probeer het zelf

String.includes()

Als de string de gespecificeerde waarde bevat,includes() De methode retourneert true.

Voorbeeld

let text = "Hello world, welcome to the universe.";
text.includes("world")    // Retourneert true

Probeer het zelf

Browserondersteuning

Internet Explorer ondersteunt geen String.includes().

Chrome IE Firefox Safari Opera
Chrome 41 Edge 12 Firefox 40 Safari 9 Opera 28
2015 jaar 3 maart 2015 jaar 7 juli 2015 jaar 8 augustus 2015 jaar 10 oktober 2015 jaar 3 maart

Syntax

string.includes(searchvalue, start)
searchvalue Noodzakelijk. De te zoeken string.
start Optioneel. Standaard is 0. Beginpositie voor de zoekopdracht.
Retourneert: Retourneert als de string de waarde bevat: true,anders retourneert false.
JS versie: ES6 (2015)

Controleer of de string "world" bevat, vanaf positie 12 zoekend:

let text = "Hello world, welcome to the universe.";
text.includes("world", 12)    // Retourneert false

Probeer het zelf

String.startsWith()

Als de string op de gespecificeerde waarde begint, dan startsWith() De methode retourneert true,anders retourneert false:

Voorbeeld

let text = "Hello world, welcome to the universe.";
text.startsWith("Hello")   // Retourneert true

Probeer het zelf

Syntax

string.startsWith(searchvalue, start)

Parameterwaarde

Parameter Beschrijving
searchvalue Noodzakelijk. De te zoeken waarde.
start Optioneel. Standaard is 0. Beginpositie voor de zoekopdracht.

Voorbeeld

let text = "Hello world, welcome to the universe.";
text.startsWith("world")    // Retourneert false
let text = "Hello world, welcome to the universe.";
text.startsWith("world", 5)    // Retourneert false
let text = "Hello world, welcome to the universe.";
text.startsWith("world", 6)    // Retourneert true

Probeer het zelf

Opmerking:startsWith() Methode onderscheidt hoofdletters van kleine letters.

Internet Explorer ondersteunt deze methode niet startsWith() Methode.

De eerste volledig ondersteunde browserversie is:

Chrome IE Firefox Safari Opera
Chrome 41 Edge 12 Firefox 17 Safari 9 Opera 28
2015 jaar 3 maart 2015 jaar 7 juli 2015 jaar 8 augustus 2015 jaar 10 oktober 2015 jaar 3 maart

String.endsWith()

Als de string op de gespecificeerde waarde eindigt, dan endsWith() De methode retourneert true,anders retourneert false:

Voorbeeld

Controleer of de string op "Gates" eindigt:

var text = "Bill Gates";
text.endsWith("Gates")    // Retourneert true

Probeer het zelf

Syntax

string.endsWith(searchvalue, length)

Parameterwaarde

Parameter Beschrijving
searchvalue Noodzakelijk. De te zoeken waarde.
length Optioneel. De te zoeken lengte.

Vind de eerste 11 karakters van de string die met "world" eindigt:

let text = "Hello world, welcome to the universe.";
text.endsWith("world", 11)    // Retourneert true

Probeer het zelf

Opmerking:endsWith() Methode onderscheidt hoofdletters van kleine letters.

Internet Explorer ondersteunt deze methode niet endsWith() Methode.

De eerste browserversie die deze methode volledig ondersteunt is:

Chrome IE Firefox Safari Opera
Chrome 51 Edge 15 Firefox 54 Safari 10 Opera 38
Mei 2016 April 2017 Juni 2017 September 2016 Juni 2016

Volledige string referentiemanual

Voor een volledige referentie, bezoek onze volledige JavaScript String referentiemanual.

Dit manual bevat beschrijvingen en voorbeelden van alle string-eigenschappen en methoden.