Validare un indirizzo Email in Asp.NET

Siti dinamici con ASP.NET
Impara a creare siti ed applicazioni Web con Microsoft .NET

Scritto da Luca Ruggiero nella sezione Asp.NET

Nell'Articolo Utilizzare i Validation Controls abbiamo visto come validare un indirizzo email col controllo <asp:RegularExpressionValidator>. Ci occuperemo adesso della gestione delle espressioni regolari e ne approfitteremo per realizzare il più comune degli esempi pratici: la validazione di un indirizzo email.

Creiamo il file regexp.aspx ed inseriamo un semplice modulo:

<form id="Modulo" name="Modulo" method="POST" action="regexp.aspx" runat="server">
    <asp:Textbox id="email" runat="server" />
    <asp:Button id="Submit" text="Controlla" OnClick="Controlla" runat="server" />
</form>
<asp:label id="Messaggio" runat="server" />
A questo punto vediamo il codice C# che fa riferimento alla funzione Controlla:
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Text.RegularExpressions" %>
<script runat="server">
    void Controlla(Object Sender, EventArgs e)
    {
        Regex emailregexp = new Regex("(?<user>[^@]+)@(?<host>.+)");
        String mail = email.Text;
        Match controllo = emailregexp.Match(mail);
        if (controllo.Success)
        {
            Messaggio.Text = "Indirizzo corretto";
        }
        else
        {
            Messaggio.Text = "Indirizzo errato";
        }
    }
</script>
Descriviamo gli step seguiti:

1. Importiamo il Namespace delle espressioni regolari (in questo caso facoltativo)
<%@ Import Namespace="System.Text.RegularExpressions" %>
2. Dichiariamo un nuovo oggetto Regex e gli passiamo l'espressione regolare nel formato appropriato
Regex emailregexp = new Regex("(?<user>[^@]+)@(?<host>.+)");
3. Recuperiamo il valore della casella di testo in cui inseriamo l'indirizzo email
String mail = email.Text;
4. Eseguiamo il Match della stringa
Match controllo = emailregexp.Match(mail);
5. Utilizziamo la proprietà Success per verificare, come si può dedurre, se l'operazione ha avuto successo o meno.

I più cliccati della sezione Asp.NET

:: Guida base ad Asp.NET (57.290)

:: I Validation Controls di Asp.NET (29.531)

:: Utilizzo delle QueryString con Asp.NET e C Sharp (23.719)

:: Visualizzare i record di un database Access con Asp.NET (21.261)

:: Un Guestbook in ASP.NET, Access e ADO (18.818)

:: Inviare email con Asp.NET: il Namespace System.Web.Mail (18.165)

:: Gestione delle News in ASP.NET (13.467)

:: Una Newsletter in ASP.NET (12.099)

:: Inserire dati in un database Access con Asp.NET (11.854)

:: Upload di file in Asp.NET e Javascript (11.530)

IN EVIDENZA
DOWNLOAD