back to top

Gestire le stringhe con Javascript

In occasione della lezione dedicata alle variabili, abbiamo già visto cosa sono le stringhe e come si definisce una variabile di tipo stringa in Javascript. Nel corso di questa lezione vedremo come manipolare la strighe attraverso le proprietà ed i metodi che Javascript mette a disposizione degli sviluppatori.

E’ bene ricordare, infatti, che l’interprete Javascript, quando ha a che fare con una stringa, la trasforma dinamicamente in un oggetto e, pertanto, come tale può essere gestita.

La proprietà length

Esiste una sola proprietà utile par la manipolazione delle stringhe, si tratta di length che, come la sua traduzione dall’inglese lascia ad intendere, calcola la lunghezza della stringa, nello specifico il numero di caratteri che la compone:

var miaStringa = "Mr.Webmaster";
document.write("La stringa è composta da " + miaStringa.length + " caratteri.");

Il suo impiego torna utile, ad esempio, in fase di validazione dei form per calcolare il numero di caratteri presenti in un campo input o in una textarea.

I metodi per la manipolazione delle stringhe

I metodi utili per la manipolazione delle stringhe sono tantissimi, in questa lezione esamineremo i principali tra i metodi standard mentre tralasceremo volutamente tutti i metodi "non standard" (come blink(), bold(), ecc.).

Tutti i metodi delle stringhe seguono la forma sintattica:

variabile.metodo()

pertanto non riporterò esempi per tutti i metodi essendo il costrutto identico per ognuno di essi.

Vediamo ora i metodi più utilizzati:

  • chartAt() – restituisce il carattere corispondente all’indice numerico specificato; vediamo un esempio:
var miaStringa = "Mr.Webmaster";
document.write(miaStringa.charAt(0)); // stampa a video: M
  • concat() – equivale all’operatore + per concatenare all’oggetto la stringa passata in argomento;
  • indexOf() – restituisce la posizione della prima occorrenza di uno specifico valore all’interno dell’oggetto stringa (restituisce -1 se non trovato); vediamo un esempio:
var miaStringa = "Mr.Webmaster";
var trova = miaStringa.indexOf("W");
if (trova != -1) alert("Il carattere è presente");
else alert("Il carattere non è presente");
  • lastIndexOf() – restituisce la posizione dell’ultima occorrenza di uno specifico valore all’interno dell’oggetto stringa (restituisce -1 se non trovato); è possibile specificare, come secondo argomento del metodo, il carattere di partenza; vediamo un esempio:
var miaStringa = "Mr.Webmaster";
miaStringa.lastIndexOf("e"); // Inizia dall'ultimo carattere
miaStringa.lastIndexOf("e", 7); // Inizia dall'ottavo carattere
  • match() – effettua una ricerca all’interno dell’oggetto stringa attraverso l’espressione regolare passata come parametro; restituisce i risultati sotto forma di array;
  • replace() – sostituisce all’interno dell’oggetto la stringa passata come primo argomento con quella passata come secondo; come secondo argomento può essere passata anche una espressione regolare; vediamo due esempi:
/*
Esempio N.1
*/
var miaStringa = "Visita Google"
// effettuo una sostituzione semplice
document.write(miaStringa.replace('Google','Mr.Webmaster'));

/*
Esempio N.2
*/
var miaStringa = "Ho un giubbotto blu, un maglione rosso e un cappello blu";
// effettuo una sostituzione attraverso espressione regolare
document.write(str.replace(/blu/g, "verde"));
  • search() – effettua una ricerca della stringa passata in argomento all’interno dell’oggetto e ne restituisce la posizione (restituisce -1 se non trovata); come argomento può essere passata anche una espressione regolare; vediamo un esempio:
var miaStringa = "Evviva Mr.Webmaster"
document.write(miaStringa.search('Mr.Webmaster')); // restuirà: 7
  • slice() – consente di tagliare la stringa specificando il carattere di partenza e quello finale (che sono compresi); vediamo un esempio:
var miaStringa = "Mr.Webmaster";
document.write(miaStringa.slice(3,5)); // Verrà visualizzato ".We"
  • split() – divide una stringa sulla base di un separatore e restituisce un array; vediamo un esempio:
var miaStringa = "divido la stringa in base agli spazi vuoti!";
document.write(miaStringa.split(" "));
  • substr() – consente di estrarre dall’oggetto una sottostringa specificando il carattere di partenza (che verrà incluso) ed il numero di caratteri da estrarre; vediamo un esempio:
var miaStringa = "Mr.Webmaster";
document.write(miaStringa.substr(3,5)); // Verrà visualizzato ".Webm"
  • substring() – consente di estrarre dall’oggetto una sottostringa specificando il carattere di partenza (che verrà incluso) ed il carattere finale (che non verrà incluso nella sottostringa); vediamo un esempio:
var miaStringa = "Mr.Webmaster";
document.write(miaStringa.substr(3,5)); // Verrà visualizzato ".W"
  • toLowerCase() – converte una stringa in minuscolo;
  • toUpperCase() – converte una stringa in maiuscolo;
Pubblicitร 
Massimiliano Bossi
Massimiliano Bossi
Stregato dalla rete sin dai tempi delle BBS e dei modem a 2.400 baud, ho avuto la fortuna di poter trasformare la mia passione in un lavoro (nonostante una Laurea in Giurisprudenza). Adoro scrivere codice e mi occupo quotidianamente di comunicazione, design e nuovi media digitali. Orgogliosamente "nerd" sono il fondatore di MRW.it (per il quale ho scritto centinaia di articoli) e di una nota Web-Agency (dove seguo in prima persona progetti digitali per numerosi clienti sia in Italia che all'estero).