Come verificare se una stringa contiene una sottostringa in JavaScript

di Lorenzo Neri
881 visualizzazioni

In JavaScript non esistono metodi come “contains” di conseguenza dobbiamo trovare strade alternative per verificare se una stringa contiene una sottostringa in JavaScript. Ne parliamo in questo articolo!

Ciao mi chiamo Lorenzo Neri e sono un informatico: realizzo contenuti per aiutare le persone a padroneggiare l’arte del nuovo millennio, ovvero l’informatica!

Questo articolo deriva da parecchie rotture di scatole che ho avuto quando mi sono occupato di svariati progetti web e in particolare dello sviluppo front-end.

Quale modo migliore di raccontare le mie esperienze sotto forma di articoli come questo e di tanti altri che puoi trovare qui legati a JavaScript?

Tornando al fulcro di questo articolo, vediamo come puoi verificare se una stringa contiene una sottostringa in JavaScript e lo facciamo partendo dalla versione.

Versione di JavaScript: quale stai usando?

È una domanda importante da porti: in base alla versione che stai utilizzando potrai usare due strade differenti. Il motivo è dato dai metodi della classe “String“.

Verificare se una stringa contiene una sottostringa con ECMAScript 6

In ES6, hanno aggiunto String.prototype.includes.

È un metodo che torna “true” oppure “false” se la stringa contiene la sottostringa che stiamo cercando.

Per esempio:

var stringa="ciao sono Lorenzo";
if (stringa.includes("Andrea"){
  console.log("La stringa contiene la parola Andrea");
}
else{
  console.log("La stringa non contiene la parola Andrea");
}

Verificare se una stringa contiene una sottostringa con versioni precedenti di ES6 e se stai usando Internet Explorer

Per chi programma in ambito web e con JavaScript sa bene che incubo sia dover produrre una soluzione che funzioni con Internet Explorer 😀

La versione 5 di ECMAScript non include il metodo “includes”: non ho resistito alla battuta 😀

Tantomeno puoi usarlo con Internet Explorer!

Quello che possiamo fare però, è usare il metodo “indexOf”: come funziona?

Come funziona indexOf in JavaScript

È un metodo della classe “String” che restituisce la posizione del primo carattere di una stringa all’interno di una stringa, diversamente la posizione del singolo carattere che stai cercando all’interno di una stringa!

Cosa facciamo se il carattere o la sottostringa non c’è?

Molto semplicemente, il metodo restituisce “-1”!

A pensarci bene, le stringhe in JavaScript hanno un funzionamento alquanto simile agli array: posizione iniziale zero corrisponde al primo carattere della stringa stessa.

Perciò, capito come funziona la indexOf e il problema che dobbiamo affrontare, facciamo un altro esempio:

var stringa="Ciao sono Lorenzo";
if (stringa.indexOf("Andrea")!==-1){
  console.log("La stringa contiene la parola Andrea");
}
else{
  console.log("La stringa non contiene la parola Andrea");
}

Ecco come funzionano le cose, ecco come verificare se una stringa contiene una sottostringa in JavaScript!

Perciò, fai sempre attenzione e chiediti se hai a disposizione ES6 e devi produrre una pagina che verrà utilizzata in Internet Explorer!

Continua a scoprire di più con questi articoli!

Lascia un commento

Questo sito potrebbe fare uso di cookie e siccome l'UE mi obbliga a fartelo presente, eccoti il classico banner dove puoi decidere come gestirli. Accetta Leggi di più