使用 Javascript 进行电子邮件地址验证在 ASP.net 中不起作用

Email Address validation with Javascript not working in ASP.net

本文关键字:ASP net 不起作用 验证 Javascript 电子邮件地址 使用      更新时间:2023-09-26

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

<%@ 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>

试试这个

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);
} 

根据您使用上述功能。

参考:在JavaScript中验证电子邮件地址?

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

这是他们的链接

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