2012-10-05

[ASP.net][C#] 透過Regular Expression做Email格式驗證..

 

之前說道如何透過 Javvascript 來使用Regular Expression 來做資料驗證

這一篇是依照一樣的範例下如何透過Server端來做資料格式驗證..

看一下配置..

 

sshot-27_2

跟上一篇差不多 只是將按鈕改成ASP.net元件..

目的也是透過txtRegex 的Regular Expression 然後對txtEmail進行驗證..

HTML (ASPX) 配置:

   1:  <div>
   2:       Regular Expression:<asp:TextBox ID="txtRegx"   runat="server"   Width="425px" ClientIDMode="Static"  >^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$</asp:TextBox>
   3:       <br />
   4:       驗證字串:<asp:TextBox ID="txtEmail" runat="server" Width="500px" ClientIDMode="Static">[email protected]</asp:TextBox>
   5:       <asp:Button ID="btnCheck" runat="server" onclick="btnCheck_Click" Text="驗證字串" />
   6:       <br />
   7:   </div>



Server端 看一下 btnCheck Click之後的事件..


        protected void btnCheck_Click(object sender, EventArgs e)
        {
 
            Regex regex = new Regex(txtRegx.Text);
            if (regex.IsMatch(txtEmail.Text))
            {
                Response.Write("Success");
            }
            else
            {
                Response.Write("Failure");
            }
        }

請注意 在Javascript 中 驗證字串為


/^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/



而在C# 中 前後是沒有那斜線的..

^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$

範例:



下載:



因為最近常用到,所以筆記一下,因為通常建議Client跟Server端都要驗證一下!!