Controllare se una Stringa contiene una Sottostringa in JavaScript

Controllare se una stringa contiene o no una sottostringa è una delle cose più comuni che si possa fare nella programmazione.

In JavaScript ci sono vari metodi per fare ciò, ma uno dei più semplici è l’utilizzo del metodo includes(), introdotto con ES6/ES2015.

'Stringa di prova'.includes('stringa');  // true
'Stringa di prova'.includes('ciao');     // false

Questo metodo accetta anche un secondo parametro: un numero intero che può indicare da che posizione iniziare a cercare la stringa:

'Stringa di prova'.includes('prova');      // true
'Stringa di prova'.includes('prova', 15);  // false
'Stringa di prova'.includes('prova', 11);  // true

#Supporto dei Browsers

Il numero indica la versione minima del browser in cui la feature sia supportata. Per ottenere maggiori informazioni, passare con il mouse sopra la versione.

Desktop

chrome
Google Chrome
41
firefox
Mozilla Firefox
40
ie
Internet Explorer
No
edge
Microsoft Edge
12
opera
Opera
28
safari
Apple Safari
9

Mobile / Tablet

and_chr
Android Chrome
85
and_ff
Android Firefox
79
android
Android
81
samsung
Samsung Internet
4
op_mob
Opera Mobile
59
ios_saf
iOS Safari
9.0

Queste statistiche sul supporto da parte dei browser provengono da Caniuse, che potete visitare per informazioni più dettagliate.

#Alternative di includes prima di ES6

Prima dell’uscita di ES6, un metodo per cercare se una stringa contenesse o meno una sottostringa, era quello di utilizzare il metodo indexOf. Questo metodo restituisce -1 se la stringa non contiene la specificata, mentre se la sottostringa viene trovata restituisce l’indice del carattere a cui inizia la stringa.

'Stringa di prova'.indexOf('prova') !== -1;  // true
'Stringa di prova'.indexOf('prova', 15);     // false
'Stringa di prova'.indexOf('prova', 11);     // true

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *