L'utilizzo delle regular expressions per la validazione o la formattazione del testo immesso all'interno dei controlli di un form web è un'ottima soluzione per evitare errori o impurità nei dati raccolti. Il framework .NET supporta l'uso delle regular expressions sia attraverso il web control RegularExpressionValidator, sia con la classe Regex posizionata all'interno del namespace System.Text.RegularExpressions. Vediamo ora un esempio di utilizzo del controllo RegularExpressionValidator:
//Validazione Input: Nome Completo di una persona
<%@ language="C#" %>
<form id="form1" runat="server">
<asp:TextBox ID="txtNome" runat="server"/>
<asp:Button ID="btnInvia" runat="server" Text="Invia Dati" />
<asp:RegularExpressionValidator ID="valNome" runat="server"
ErrorMessage="Il testo inserito non è un nome di persona valido."
ControlToValidate="txtNome"
ValidationExpression="^[òàùèìa-zA-Z''-'\s]{1,50}$" />
</form>
Se siete a "digiuno" di regular expressions, potete consultare quest'ottimo tutorial curato da Roy Osherove un vero "guru" in materia. Inoltre, per costruire e testare le nostre regex in rete esistono molti strumenti gratuiti e potentissimi:
Espressione regolare | Dominio valori | Descrizione |
---|---|---|
^[òàùèìa-zA-Z''-'\s]{1,50}$ | Luca Milan Gianni D'Amico |
Stringa di caratteri con lunghezza da 1 a 50, sono ammesse lettere in maiuscolo o minuscolo, spazi e l'apostrofo, oltre alle lettere accentate. |
^\d+$ | 0 123 |
Numeri interi non negativi |
^\d+(\.\d\d)?$ | 75.00 | Decimali non negativi, con due cifre dopo il punto. 9.99 è valido, 4.5 no. |
^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z] [-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$ | l.milan@html.it | Un indirizzo email valido. |