Utilizzare le Stringhe in Javascript

Vedremo come utilizzare le stringhe ed il relativo oggetto String in Javascript, studiandone metodi e proprietà attraverso degli esempi pratici per capire al meglio l'uso di questo oggetto utilizzato in molti contesti, soprattutto nella validazione di moduli HTML.

Quando si sviluppa per il web le stringhe sono molto utilizzate perché il testo è alla base delle comunicazioni tra client e server nell’invio dei moduli HTML. Javascript offre un ottimo supporto al testo attraverso l’oggetto String: una stringa non è altro che un insieme di caratteri racchiusi tra doppi o singoli apici.
Possiamo istanziare un nuovo oggetto String attraverso questa sintassi

var strText = new String(“Ciao mondo!”);

oppure dichiararla semplicemente

var strText = “Ciao mondo!”;

In Javascript è possibile utilizzare sia i doppi che i singoli apici, si ricorre a questi ultimi solitamente quando si usa il linguaggio di scripting all’interno del codice HTML

<a href=”#” onClick=”alert(‘Solo un esempio!’)”>Esempio</a>

In questa situazione l’utilizzo dei doppi apici creerebbe confusione al browser che interpreterebbe in maniera erronea il valore di onClick. Un altro problema è l’utilizzo dell’apostrofo all’interno di una stringa nel valore di alert ( nel nostro esempio precedente ), per questo vengono utilizzati i cosiddetti caratteri escape, particolari coppie di simboli che si utilizzano per rappresentare i caratteri privi di rappresentazione semplice o comunque in conflitto con la sintassi Javascript

<a href=”#” onClick=”alert(‘Solo un\’altra stringa!’)”>Esempio</a>

I caratteri escape hanno la forma \x, dove al posto di x abbiamo il simbolo da rappresentare. I più utilizzati caratteri escape sono

  • \’ apici
  • \” doppi apici
  • \\ back-slash
  • \r ritorno a capo
  • \n nuova riga
  • \t tabulazione

L’oggetto String dispone di una vasta serie di metodi utili per manipolare le stringhe, basilare è anche la proprietà length che rappresenta il numero di caratteri che costituiscono la sequenza. I metodi più utilizzati sono:

  • chartAt(n) che restituisce il carattere di indice n
  • charCodeAt(n) che restituisce il codice Unicode del carattere di indice n
  • indexOf(ss) che restituisce la posizione della prima occorrenza della sotto-stringa ss o -1 se non c’è occorrenza
  • lastIndexOf(ss) che restituisce la posizione dell’ultima occorrenza della sotto-stringa ss o -1 se non c’è occorrenza
  • split(ss) che suddivide una stringa in un array di sotto-stringhe, ottenute spezzando l’oggetto di invocazione ad ogni occorrenza di ss
  • substring(ci, cf) che restituisce una sotto-stringa individuata nell’oggetto di invocazione a partire dal carattere indice ci incluso fino a quello cf escluso
  • toLowerCase() che restituisce una nuova stringa tutta minuscola
  • toUpperCase() che restituisce una nuova stringa tutta maiuscola

Per una illustrazione più dettagliata dei metodi dell’oggetto String potete visitare questa pagina.
A differenza degli altri oggetti, le stringhe possono servirsi di alcuni operatori, come il + per la concatenazione oppure gli operatori booleani. Per mostrare in pratica come si utilizzano le strutture presentate finora facciamo un esempio:

<html>
<head>
<title>Pagina di esempio</title>

<script language="javascript">

var s1 = "Ciao";
var s2 = "buonasera";
var s3 = "ciao";

var s4 = s1 + " " + s2 + " " + s3;
alert(s4);

s1 = s1.toLowerCase();
s2 = s2.toLowerCase();
s3 = s3.toLowerCase();

s4 = s1 + " " + s2 + " " + s3;
alert(s4);

if (s1 == s2)
	alert("La prima e seconda stringa sono uguali");
else if (s1 == s3)
	alert("La prima e la terza stringa sono uguali");
else if (s2 == s3)
	alert("La seconda e la terza stringa sono uguali");
else
	alert("Le stringhe sono diverse");

</script>

</head>
<body>
</body>
</html>

Ho cercato di inserire tutte le nozioni viste finora per mostrare l’uso dei metodi elencati sulle stringhe, comunque l’uso più comune dell’oggetto String in Javascript è quello per la validazione dell’input dei form HTML. Come esercizio potete validare un indirizzo di posta elettronica cercando la presenza del carattere @ all’interno della stringa.

Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

Modifica preferenze cookie