使用Javascript的电子邮件地址验证无法在ASP.net中运行

时间:2012-08-10 07:17:08

标签: javascript asp.net .net

我使用以下代码验证电子邮件地址,并将电子邮件地址与重新输入的电子邮件地址进行比较。但当我输入错误的电子邮件地址格式并单击注册时,不知何故我没有弹出。

<%@ Page Title="" Language="VB" MasterPageFile="~/Main.master" AutoEventWireup="false"
    CodeFile="Registration.aspx.vb" Inherits="Registration" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
<script type="text/javascript" language="javascript">
    function verifyEmail() {

        var status = false;

        var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
        if (document.aspnetForm.txtEmailAddress.value.search(emailRegEx) == -1) 
        {
            alert("Please enter a valid email address.");
        }
        else if (document.aspnetForm.txtEmailAddress.value != document.aspnetForm.txtVerifyEmailAddress.value) 
        {
            alert("Email addresses do not match.  Please retype them to make sure they are the same.");
        }
        else 
        {
            alert("Woohoo!  The email address is in the correct format and they are the same.");
            status = true;
        }
        alert(status)
        return status;
    }
</script>

</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    <table >

        <tr>
            <td >
                <asp:Label ID="Label3" runat="server" Text="Email Address"></asp:Label>
            </td>
            <td >
                <asp:TextBox ID="txtEmailAddress" Width="234px" runat="server"></asp:TextBox>
            </td>
            <td >
               </td>
        </tr>
        <tr>
            <td >
                <asp:Label ID="Label4" runat="server" Text="Re-Enter Email"></asp:Label>
            </td>
            <td >
                <asp:TextBox ID="txtVerifyEmailAddress" Width="234px" runat="server"></asp:TextBox>
            </td>
            <td >
               </td>
        </tr> 
        <tr>
            <td >

            </td>
            <td >
                <asp:Button ID="btnRegister" runat="server" Text="Register"  OnClientClick ="verifyEmail();" value="Check Email Address"/>
               &nbsp;&nbsp;&nbsp;&nbsp;
                <asp:Button ID="btnCancel" runat="server" Text="Cancel" />
            </td>
            <td >
               </td>
        </tr>
    </table>
</asp:Content>

2 个答案:

答案 0 :(得分:0)

试试这个

function validateEmail(email) { 
    var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\
".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA
-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    return re.test(email);
} 

根据你使用上述功能。

参考:Validate email address in JavaScript?

答案 1 :(得分:0)

Asp .net有正则表达式验证器和比较验证器,你应该使用它们

这里是他们的链接

http://asp-net-example.blogspot.in/2009/02/aspnet-regularexpressionvalidator.htmlhttp://asp.net-tutorials.com/validation/compare-validator/