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






Mobile / Tablet






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