当前位置:编程学习 > C#/ASP.NET >>

邮箱格式验证

邮箱格式验证应该怎么来实现 --------------------编程问答--------------------    //验证 E-mail 格式   

            string regexEmail = "\\w{1,}@\\w{1,}\\.\\w{1,}";    --------------------编程问答-------------------- 正则表达式 --------------------编程问答--------------------
引用 1 楼 kkxxl易做图sas 的回复:
   //验证 E-mail 格式   

            string regexEmail = "\\w{1,}@\\w{1,}\\.\\w{1,}";

我觉得@前面不一定没有‘.’,因为我的邮箱就有一个,所以这个。。。
--------------------编程问答--------------------
<asp:regularexpressionvalidator id="RegularExpressionValidator5" runat="server" ControlToValidate="txt_Email"ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" ErrorMessage="*"></asp:regularexpressionvalidator>
--------------------编程问答-------------------- 正则
验证Email 地址:“^\w+[-+.]\w+)*@\w+([-.]\w+)*.\w+([-.]\w+)*$”
--------------------编程问答--------------------

 if (!IsValidEmail(txtEmail, txtEmail.NM, false)) return false;
 /// <summary>
        /// Email的检查

        /// 
        /// </summary>
        /// <param name="txt">控件</param>
        /// <param name="empty">空检查标志</param>
        /// <param name="lenb">长度检查标志</param>
        /// <returns></returns>
        private bool IsValidEmail(TextBoxBase txt, string nm, bool empty)
        {
            // Return true if txt is in valid e-mail format.
            if (empty)
            {
                if (txt.Text == string.Empty)
                {
                    lblMsg.Text = nm + cm.GetMessage("E00004");
                    lblMsg.ForeColor = Color.Red;
                    txt.Focus();
                    return false;
                }
            }
            else if (txt.Text!="")
            {
                if (!Regex.IsMatch(txt.Text, @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"))
                {
                    lblMsg.Text = nm + cm.GetMessage("E00019");
                    lblMsg.ForeColor = Color.Red;
                    txt.Focus();
                    return false;
                }
            }
            return true;
        }

--------------------编程问答--------------------

 /// <summary>
        /// 名字的获取在设定

        /// </summary>
        [Bindable(true),
        Category("追加属性 名字"),
        DefaultValue(true),
        Description("控件的名字的获取或设定。")]
        public string NM
        {
            get
            {

                //this.value = this.Text;
                return this.nm;
            }

            set
            {
                //this.Text = value;
                this.nm = value;
            }
        }
--------------------编程问答--------------------
string pattern=@"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*";
--------------------编程问答-------------------- 前台验证:

<asp:TextBox ID="TxtEmail" runat="server" CssClass="inputTxt2"></asp:TextBox>
                      <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ErrorMessage="邮箱地址为必填项" ControlToValidate="TxtEmail" Display="Dynamic"></asp:RequiredFieldValidator>
                      <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="TxtEmail"
                          ErrorMessage="无效的电子邮箱地址" ValidationExpression="^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$" Display="Dynamic"></asp:RegularExpressionValidator>
--------------------编程问答-------------------- 添加后台验证控件

<asp:CustomValidator ID="CustomValidator1" runat="server" OnServerValidate="CustomValidator1_ServerValidator" 
                            Display="Dynamic" ErrorMessage="无效的邮箱格式"></asp:CustomValidator>  


//后台验证
protected void CustomValidator1_ServerValidator(object source, ServerValidateEventArgs args) 
        {
            if (!Regex.IsMatch(txt.Text, "^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"))
            {
                args.IsValid = false;
            }
            else
            {
                args.IsValid = true;
            }
        }

protected void btnSave_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                //验证通过
            }
        }


--------------------编程问答-------------------- 楼上很全面了,前后台验证都有了。 --------------------编程问答-------------------- 正则表达式\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,