") miafinestra.document.write("Testo di prova che visualizza il metodo "+ metodo + ": " + "

" + miavar + "

"); miafinestra.document.write("

"); miafinestra.document.write("
") } function visualizza2(metodo, miavar, msg) { miafinestra=window.open("", "", "width=600,height=350"); miafinestra.document.write(""); miafinestra.document.write("visualizzazione ed esempio dei metodi dell'oggetto String"); miafinestra.document.write("
") miafinestra.document.write("Testo di prova che visualizza il metodo "+ metodo + ": " + "

" + miavar + "

"); miafinestra.document.write("

"); miafinestra.document.write(msg); miafinestra.document.write("
") } var ShowSplit=new String("Beata Solitudo Sola Beatitudo"); function CreaArray(StrPass) { ArrayRicavato=StrPass.split(' '); for (i=0; i JavaScript passo passo - Oggetto string

Oggetto string

Argomenti trattati: la gestione di variabili alfanumeriche e l'oggetto String.

L'oggetto String è utilizzato frequentemente in JavaScript, poiché spesso occorre elaborare, ricercare o controllare delle stringhe. Indipendentemente dalla dichiarazione o meno di una variabile come oggetto stringa, i metodi possono essere utilizzati per elaborare una variabile il cui valore è di tipo alfanumerico.

La sintassi del costruttore è la seguente:

var miaStringa= new String('valore della stringa');
oppure:
var miaStringa= new String();
il valore può essere assegnato successivamente.
Anche scrivendo:
var miaStringa='valore della mia stringa';
si potrebbe elaborare tale variabile con i metodi e le proprietà dell'istanza di un oggetto String.

Ricordiamo che possiamo anche assegnare, in seguito, un valore numerico ad x. Per programmatori abituati a linguaggi come C o Java, è utile sottolineare che non esistono dati che rappresentino caratteri, come il char in C. Quindi, non esiste differenziazione tra:

a="sì, sei considerata una stringa"; 

e:

a='sì, sei considerata una stringa'; 

né a='a' è diverso da a="a";

Metodi

anchor() si riferisce ad un oggetto anchor e alla sua proprietà name var miastringa="Testo dell'ancoraggio";
var Ancor=miastringa.anchor(mioAncoraggio);
Rispetto al tag <A></A>, è come scrivere:

<a name="mioAncoraggio"> Testo dell'ancoraggio </a>

 Esattamente questo è il valore assunto dalla variabile Ancor

big() applica il tag <big> </big> alla stringa passata

var miavar= new String;
miavar= "Sintassi del metodo big";
miavar=miavar.big()

blink() applica il tag <blink> </blink> alla stringa passata

var miavar= new String;
miavar= "Sintassi del metodo blink";
miavar=miavar.blink()

bold() applica il tag <b> </b> alla stringa passata

var miavar= new String;
miavar= "Sintassi del metodo bold"
miavar=miavar.bold()

charAt() restituisce il carattere in corrispondenza dell'indice passato come argomento del metodo a, partire da zero. var indice=0
var miavar=new String;
miavar="ABCDEFGHILMNOPQRSTUVZ"
var carattere=miavar.charAt(indice)"

charCodeAt() restituisce il valore numerico del codice UNICODE  del carattere in corrispondenza dell'indice passato come argomento del metodo, a partire da zero. var indice=0
var miavar=new String;
miavar="ABCDEFGHILMNOPQRSTUVZ"
var carattere=miavar.charCodeAt(indice)"

concat() concatena 2 stringhe var str1="Il metodo concat()"
var str2=" concatena 2 stringhe"
str1.concat(str2);

fixed() applica il tag <TT></TT> alla stringa passata

var miavar= new String;
miavar= "Sintassi del metodo fixed"
miavar=miavar.fixed()

fontcolor() equivale all'attributo color del tag <font></font>

var miavar= new String;
miavar= "Sintassi del metodo fontcolor"
miavar=miavar.fontcolor("red")

fontsize() equivale all'attributo size del tag <font></font>

var miavar= new String;
miavar= "Sintassi del metodo size"
miavar=miavar.fontcolor("35")

fromCharCode() Restituisce la stringa risultante dai codici UNICODE passati come argomenti var miavar=String.fromCharCode(65,66,67)

indexOf() restituisce la posizione, a partire da zero, della prima ricorrenza a partire dall'inizio della stringa del carattere o della sottostringa passata come argomento. Se la ricorrenza non è presente, restituisce -1. miavar="ABCDEFGHILMNOPQRSTUVZ";
var ricorrenza=miavar.indexOf('a')

italics() corrisponde al tag <I></I>

var miavar= new String;
miavar= "Sintassi del metodo italics"
miavar=miavar.italics()

lastIndexOf() restituisce la posizione, a partire dall'ultimo carattere nella stringa, della prima ricorrenza  del carattere o della stringa passata come argomento. Se la ricorrenza non è presente, restituisce -1. miavar="ABCDEFGHILMNOPQRSTUVZ"
var ricorrenza=miavar.lastIndexOf('A')

link() si riferisce ad collegamento ipertestuale e all'indirizzo corrispondente all'attributo HREF del tag <A></A> var miastringa="Testo del collegamento";
var MioLink=miastringa.link("http://indirizzo_Internet.it");
Rispetto al tag <A></A>, è come scrivere:

<a href="http://indirizzo_Internet.it"> Testo del collegamento </a>

 Esattamente questo è il valore assunto dalla variabile Ancor

match() Restituisce i risultati della ricerca di un'espressione regolare in una stringa
vedi anche 
l'Oggetto RegExp
var Stringa="Cappuccetto Rosso e il Lupo Cattivo";
var Espressione= new RegExp("p");
Stringa.match(Espressione)

replace() Sostituisce i caratteri trovati in una stringa con quelli passati La sintassi del metodo è:
Stringa.replace(sottostringa_da_ricercare, testoConCuiSostituirla)

L'esempio seguente mostra come la "colla" può diventare una "corda":
var DaSostituire="colla";
var DopoSostituzione=DaSostituire.replace("ll","rd");
alert(DopoSostituzione)

search() Cerca la prima occorenza di una sottostringa passata al metodo in una stringa La sintassi del metodo è:
Stringa.search(sottostringa_da_ricercare)

Per ulteriori dettagli, vai all'Oggetto RegExp

slice() Restituisce una prozione di una stringa La sintassi del metodo slice() è:
Stringa.slice(inizio,fine);

MiaStringa='pescecane';
Str1=MiaStringa.slice(0,5)
alert(Str1)

small() equivale al tag <small></small>

var miavar= new String;
miavar= "Sintassi del metodo small"
miavar=miavar.small()

split() Restituisce un Array, i cui elementi corrispondono alle sottostringe che derivano sa una stringa suddivisa a partire dall'argomento passato alla funzione var ShowSplit=new String("Beata Solitudo Sola Beatitudo");
ArrayRicavato=ShowSplit.split(' ');
for (i=0; i<ArrayRicavato.length; ++i)
alert(ArrayRicavato[i])

strike() applica il tag <strike></strike> alla stringa passata

var miavar= new String;
miavar= "Sintassi del metodo strike"
miavar=miavar.strike()

sub() applica il tag <sub></sub> alla stringa passata

var miavar= new String;
miavar= "Sintassi del metodo sub"
miavar=miavar.sub()

substr() restituisce la sottostringa della stringa di partenza racchiusa tra i limiti passati al metodo come argomento La sintassi del metodo substring() è:
Stringa.subst(inizio,fine);

MiaStringa='pescecane';
Str1=MiaStringa.substr(0,5)
alert(Str1)

substring() restituisce la sottostringa della stringa di partenza racchiusa tra i limiti passati al metodo come argomento La sintassi del metodo substring() è:
Stringa.substring(inizio,fine);

MiaStringa='pescecane';
Str1=MiaStringa.substring(5,9)
alert(Str1)

sup() applica il tag <sup></sup> alla stringa passata

var miavar= new String;
miavar= "Sintassi del metodo sup"
miavar=miavar.sup()

toLowerCase() converte in caratteri minuscoli tutti i caratteri presenti nella stringa MiaStringa='ABCDEFGHILMNOPQRSTUVZ';
Str1=MiaStringa.toLowerCase();
alert(Str1)

toString() Converte in stringa i caratteri passati. var num1=456
Str1=num1.toString();
alert(typeof(Str1))

toUpperCase() converte in caratteri maiuscoli tutti i caratteri presenti nella stringa MiaStringa='abcdefghilmnopqrstuvz';
Str1=MiaStringa.toUpperCase();
alert(Str1)

valueOf() Restituisce il sorgente stringa del valore passato MiaStringa='valore della mia stringa';
Str1=MiaStringa.valueOf();
alert(Str1)

Proprietà

length corrisponde alla lunghezza in caratteri della stringa considerata MiaStringa='abcdefghilmnopqrstuvz';
Str1=MiaStringa.length;
alert(Str1)

prototype questa proprietà permette di ampliare i metodi o le proprietà dell'oggetto considerato, in questo caso l'oggetto String().

 Il metodo toString(), per la conversione di una variabile in stringa, è stato aggiunto nella versione 1.3 di JavaScript. Precedentemente, occorreva utilizzare il seguente 'trucco':

 var num1=456
Str1=num1 + '';
alert(typeof(Str1))

Al contrario, per convertire una stringa in un numero, possono essere utilizzati i metodi parseInt() e parseFloat() dell'oggetto Global.

Esistono inoltre dei caratteri speciali, che per essere rappresentati, devono essere scritti secondo le istruzioni della tabella sottostante, per non provocare errori nella lettura della stringa da parte del browser:
 

\t Carattere di tabulazione
\n Nuova riga
\r Ritorno a capo
\f Avanzamento di carrello
\\ BackSlash o barra inversa
\b BackSpace
\' apice singolo
\'' doppio apice

Ad esempio, si osservi la sintassi del seguente messaggio riportato nel metodo alert():

 alert('\t Vi sono numerose funzioni legate ai caratteri speciali. \n Ad esempio, posso utilizzare la virgoletta singola: \', o la barra spaziatrice: \\, mediante la rappresentazione della tabella, e non avere un messaggio \f\r di errore ')

Segue un esempio di come costruire una sorta di applicazione "Trova e Sostituisci" in JavaScript

visualizza esempio

function qo(TestoCercato)
{
     TR=0;
/* TR è una variabile globale, che serve a segnalare in tutte le funzioni che la stringa segnalata è stata trovata nel testo */
     if (TestoCercato=='')
          document.f1.Risultato.value='Immettere una stringa di almeno un carattere.'
     else
     {
          var num1=0;
          var w=TestoCercato;
          var Tutto=opener.document.Testo.Valore.value;
          if (Tutto.indexOf(w)==-1)
               document.f1.Risultato.value='La stringa non risulta presente nel testo.'
          else
          {
/* Se la stringa ricercata è effettivamente presente nel testo considerato, viene passata alla variabile w, e TR assume il valore di uno, quindi vengono contate le occorrenze della stringa ricercata nel testo */
                TR=1;
                var z='?';
                for(i=0; i<=Tutto.length; ++i)
                {
                       if(Tutto.indexOf(w)!=-1)
                            num1=num1 + 1
                            Tutto=Tutto.replace(w,z);
                 }
                document.f1.Risultato.value='Sono state trovate ' + num1 + ' occorrenze della stringa ricercata ' + w
           }
     }
}

function sost1(TestoSostituzione)
{
/* Questa funzione sostituisce la stringa ricercata con quella desiderata segnalando le sostituzioni una ad una */
     Appo='';
     if (TestoSostituzione!='' && document.f1.Tcerca.value!='' && TR==1)
     {
          var w=document.f1.Tcerca.value;
          var z=TestoSostituzione
          var Tutto=opener.document.Testo.Valore.value;
          {
               while(Tutto.indexOf(w)!=-1)
               {
                     prestr=Tutto.substring(0, Tutto.indexOf(w));
                     Tutto=Tutto.replace(w,z);
                     Appo=Appo + prestr+z;
               // Appo memorizza il testo già sostituito
                    
Appo2=prestr + z;
                     Tutto=Tutto.substring(Appo2.length,Tutto.length)
/* Tutto memorizza, durante il ciclo, il testo ancora da sostituire finché è presente almeno una ricorrenza della sottostringa ricercata */
                     opener.document.Testo.Valore.value=Appo + Tutto;
                     alert('è stata effettuata una sostituzione.Clicca di nuovo per effettuarne un\'altra');
                }
                     document.f1.Risultato.value='la stringa ricercata non compare più nel testo'
           }
     }
}

function sost2(TestoSostituzione)
{
/* Questa funzione sostituisce la stringa ricercata con quella desiderata segnalando il numero di sostituzioni che saranno effettuate: se si accetta la sostituzione, questa avverrà per tutte le sottostringhe nel testo */

     if (TestoSostituzione!='' && document.f1.Tcerca.value!='' && TR==1)
     {
          num2=0;
          Appo3='';
          var w=document.f1.Tcerca.value;
          var z=TestoSostituzione;
          var Tutto=opener.document.Testo.Valore.value;
          while(Tutto.indexOf(w)!=-1)
          {
               prestr2=Tutto.substring(0, Tutto.indexOf(w));
               Tutto=Tutto.replace(w,z);
               num2=num2 + 1;
               Appo3=Appo3 + prestr2+z;
               Appo4=prestr2 + z;
               Tutto=Tutto.substring(Appo4.length,Tutto.length)
           }
           var confSost=confirm('Saranno effettuate ' + num2 + ' sostituzioni. \n Procedo?');
           if(confSost)
           {
                opener.document.Testo.Valore.value=Appo3 + Tutto;
                document.f1.Risultato.value='la stringa ricercata non compare più nel testo'
           }
           else
           return false;
     }
}

Torna all'inizio | Home