INTERNET EXPLORER? Ti consiglio di navigare questo sito con Mozilla Firefox oppure con Google Chrome.

Validare un indirizzo Email in Asp.NET

Autore: Luca Ruggiero | Tell a Friend

Corso ASP.NET
Impara a creare siti ed applicazioni Web con Microsoft .NET!

Corso VB.NET
Impara a creare applicazioni desktop con Microsoft .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.

IN EVIDENZA
HOT LINKS