Cosa sono le stringhe
Le stringhe sono variabili che possono contenere al loro interno caratteri alfanumerici.
Nella stragrande maggioranza dei linguaggi di programmazione vengono delimitate da apici singoli o doppi (a seconda della sintassi del linguaggio). Ad esempio:
stringa = "Ciao Mondo"
Alert stringa
Come potrete intuire l'utilizzo delle stringhe è fondamentale per i linguaggi web-based, ossia quei linguaggi che si utilizzano nelal costruzioni di siti Web.
Immaginiamo un form di registrazione con unico campo obbligatorio, il campo email. Come si può verificare se il campo email è un campo valido? Questo è uno degli obiettivi che si prefigge questo articolo, cioè mettervi in condizione di sapere utilizzare al meglio le stringhe in VBscript nel vostro lavoro quotidiano di Webmaster.
Le funzioni per manipolare le stringhe
Determinare la lunghezza di una stringa (Len)
Quella di determinare la lunghezza della stringa è l'operazione più utilizzata in assoluto per la convalida dei dati: permette di sapere se un campo è stato riempito, oppure, per particolari necessità, consente l'accertamento del numero di caratteri di una stringa, cioè se le sue dimensioni sono uguali a quelle prestabilite dal programmatore.
In tutti questi casi la funzione da utilizzare è Len, che restituisce il numero di caratteri contenuti nella stringa, o meglio il numero di byte che servono per rappresentarla.
La lunghezza però comprendere anche eventuali spazi all'inizio o alla fine della stringa.
La sintassi:
Len(variabile)
Restituisce un numero che rappresenta il numero di caratteri contenuti nella stringa.
Esempio:
stringa = "Ciao Mondo"
alert len(stringa)
Quando eseguito restituirà una finestra di alert con scritto 10.
Convertire una stringa in lettere minuscole o in lettere maiuscole (Lcase e Ucase)
Da cosa nasce la necessità di dover convertire una stringa in lettere minuscole? Nasce dall'esigenza di poter confrontare due stringhe senza controllo "case-sensitive" . Per venire incontro a questa esistono due funzioni: Lcase, per convertire in minuscolo, e Ucase, per convertire in maiuscolo.
Primo Esempio: stringhe diverse senza Lcase.
stringa = "Stefano Baire"
stringa1 = "stefano baire"
if stringa=stringa1 then
alert "Sono Uguali"
Else
alert "Sono Diverse"
End if
Secondo Esempio: stringhe diverse con Lcase.
stringa = Lcase("Stefano Baire")
stringa1 =Lcase("stefano baire")
if stringa=stringa1 then
alert "Sono Uguali"
Else
alert "Sono Diverse"
End if
La stringa "Stefano Baire" è diversa dalla stringa "stefano baire" (esempio 1), ma se gli applicchiamo Lcase (esempio 2), noterete che queste due stringhe divengono totalmente uguali.
La sintassi:
Lcase(varibile): converte la stringa contenuta in "variabile" in minuscolo
Ucase(varibile): à converte la stringa contenuta in "variabile" in maiuscolo
Tagliare la stringa da sinistra verso destra (Left)
La funzione Left consente di restituire un dato numero di caratteri dalla stringa specificata partendo da sinistra.
La sintassi
Left(variabile,numero)
Dove "variabile" è la stringa da cui estrarre i dati, mentre " numero" rappresenta il numero di caratteri da copiare partendo da sinistra.
Esempio:
stringa = "La mia stringa"
Alert left(stringa, 6)
Restituisce "La mia", ossia, 6 caratteri a partire da sinistra
Tagliare la stringa da destra verso sinistra (Right)
La funzione Right consente di restituire un dato numero di caratteri partendo da destra.
La sintassi:
right(varibile,numero)
Dove "variabile" é la stringa da cui estrarre i dati ,mentre " numero" rappresenta il numero di caratteri da copiare partendo da destra.
Esempio:
stringa = "La mia stringa"
Alert right(stringa, 6)
Restituisce "stringa", ossia 6 caratteri a partire da destra.
Estrarre una porzione di stringa (Mid)
Mid estrae una porzione di stringa data la lunghezza.
La sintassi:
Mid(variabile,inizio,contatore)
- "Variabile" è la stringa originale da cui deve essere estratta la porzione
- "Inizio" rappresenta la posizione da cui ha inizio la porzione
- "Contatore" è un parametro opzionale che specifica il numero di caratteri da estrarre a partire da "inizio". Se assente restituisce la stringa restante a partire da "inizio".
Esempio 1:
stringa = "La mia Stringa"
Alert mid(stringa,3)
Restituisce "mia Stringa"
Esempio 2:
stringa = "La mia Stringa"
Alert mid(stringa,3,3)
Restituisce "mia"
Verificare se una sottostringa e contenuta in una stringa (Instr e InstrRev)
I comandi che si utilizzano per individuare se una stringa è presente all'interno di una stringa sono Instr e InstrRev.
Vediamo per primo Instr.
Sintassi:
Instr(stringa1,stringa2)
Se stringa2 è ripetuto all'interno di stringa1, la funzione restutisce la posizione incominciando la ricerca da sinistra, della stringa2 all'interno della stringa1.
InstrRev:
Sintassi:
Instr(stringa1,stringa2)
Il funzionamento è semplice: se stringa2 e ripetuto all'interno di stringa1, la funzione restutisce la posizione, incominciando la ricerca da destra, della stringa2 all'interno della stringa1.
Le funzioni CHR e ASC
Le funzioni chr e asc vengono utilizzate più che con le stringhe con i caratteri.
Sintassi:
CHR(n)
N - corrisponde al codice ascii del carattere. La funzione chr restituisce il carattere relativo al numero immesso nella variabile "n". Ad esempio Chr(27) corrisponde al tasto escape.
Sintassi:
Asc(char):
char - è un carattere del set caratteri ascii. La funzione restituisce il codice ascii relativo al carattere impostato nella variabile "char".
Verificare se una stringa contiene numeri (isNumeric)
Per verificare se una stringa contiene numeri si può utilizzare la funzione isNumeric. IsNumeric è una funzione di tipo booleano che restituisce true solo le variabile passata in input è una stringa che contiene solo numer.
Esempio
Stringa = "100000"
If isNumeric(Stringa) then
Alert "stringa è un numero"
Else
Alert "stringa non è un numero"
End if
Verificare se una stringa contiene una data valida (isDate)
Per verificare se una stringa contiene una data valida bisogna utilizzare la funzione issate. IsDate è una funzione di tipo booleano che restituisce true solo se la variabile in input contiene una data valida.
Esempio:
Stringa = "10/10/2002"
If isDate(Stringa) then
Alert "stringa è una data valida"
Else
Alert "stringa non è una data valida"
End if