Articoli Referenze Script FAQ Downloads Menu Javascript Ricette Cocktail Corsi online Registrazione domini Area Aziende



Verifica di una stringa alfanumerica con le espressioni regolari

Home + Articoli + Stringhe + Articolo # 40
Autore: Luca Ruggiero

Concesso in esclusiva a Mr.Webmaster. Vietata la riproduzione.


Le espressioni regolari per l'implementazione di controlli sulle stringhe permettono di definire un pattern tale da consentire (o inibire, a seconda dei casi) l'utilizzo, ad esempio, di soli caratteri alfanumerici. L'utilizzo di una simile espressione regolare torna particolarmente utile in fase di iscrizione di un utente ad un proprio servizio per consentire il solo utilizzo di caratteri alfanumerici per le stringhe rappresentanti username e password, in modo che nessun utente smanettone possa provare una SQL Injection utilizzando caratteri come maggiore e minore o l'apice. E' vvio che un simile controllo va previsto anche in fase di login.

Il motore del VBScript mette a disposizione questo pattern per detta espressione regolare:
^[a-zA-Z0-9]+$
ovvero consenti tutti i caratteri alfabetici dalla A alla Z sia maiuscoli che minuscoli e tutti i numeri da zero (0) a nove (9). Per consentire solo lettere minuscole, ad esempio, potremmo utilizzare questo pattern:
^[a-z0-9]+$
oppure quest'altro
^[a-zA-Z]+$
per inibire la possibilità di inserire numeri. Per consentire il solo inserimento di numeri in VBScript esiste la funzione booleana IsNumeric() quindi torna inutile utilizzare un'espressione regolare che occupa solo maggiore memoria in fase di esecuzione rispetto ad una funzione predefinita del linguaggio in uso.

Il seguente esempio verifica, grazie ad una nuova istanza dell'oggetto RegExp, col metodo Test(), che la username inserita nella variabile username sia composta da soli caratteri alfanumerici:
<%@LANGUAGE = VBScript%>
<%
    Dim re, username
    username = "lukeonweb"
    Set re = New RegExp
    re.Pattern = "^[a-zA-Z0-9]+$"
    If re.Test(username) Then
        Response.Write "Username corretta!"
    Else
        Response.Write "Utilizzare solo caratteri alfanumerici!"
    End If
%>
Il risultato sarà Username corretta!

Provate a modificare il valore della variabile username in questo modo
username = "lukeonweb"
Utilizzando il carattere punto (.) il controllo restituirà False ed il risultato sarà Utilizzare solo caratteri alfanumerici!

© 2008 ASP Center di Luca Ruggiero - P. IVA 05564851219 - Utenti online: 16 - Disclaimer | Pubblicità | Supportaci | Staff | Contatti
  Appunti PHP | Giornale Webmaster | Mr.Webmaster | Download | DevSpy.com | ASPCode.it | ClaudioGarau.it | Webmaster Facile | Come Faccio | AlVerde.net | CodiceFacile.it | I Programmatori | By Luciani | VoiceXML Italian User Group | Giochi | Extro Web Site | Morpheus Web | AG Web Solutions | Net-Free | PC Sicuro | PC Self | Tutorial Web | Dablones