JQuery电子邮件验证不起作用

JQuery email validation not working

本文关键字:不起作用 验证 电子邮件 JQuery      更新时间:2023-09-26

我是JQuery的新手,写了一个简单的验证来检查电子邮件地址。但它并没有如预期的那样发挥作用。有人能建议解决这个问题吗?

<script>
   $( "#email" ).blur(function() {  
var mailformat = /^'w+(['.-]?'w+)*@'w+(['.-]?'w+)*('.'w{2,3})+$/;  
if($( "#Email" ).val().match(mailformat))  
{  
alert("You have entered an valid email address!");   
}  
else  
{  
alert("You have entered an invalid email address!");    
}  
});
  </script>
</head>
<body>
<label for="email" id="email-ariaLabel">Your email address:</label>
 <input id="email" name="email" type="email" class="required" title="This is a required field" /> <span class="msg error">Not a valid email address</span>
 <span class="msg success">A valid email address!</span>

您的代码将在创建元素之前运行,因此不会附加处理程序。您应该将代码包装在$(document).ready()中,以便在创建元素后运行代码。

此外,选择器区分大小写,您应该使用$("#email").val()而不是$("#Email").val()

 $(document).ready(function(){
   $( "#email" ).blur(function() {  
   var mailformat = /^'w+(['.-]?'w+)*@'w+(['.-]?'w+)*('.'w{2,3})+$/;  
   if($("#email").val().match(mailformat))  
   {  
     alert("You have entered an valid email address!");   
   }  
   else  
   {  
     alert("You have entered an invalid email address!");    
   } 
  });
})

试试这个-

<script>
   $( "#email" ).blur(function() {  
var mailformat = /^'w+(['.-]?'w+)*@'w+(['.-]?'w+)*('.'w{2,3})+$/;  
if($( "#email" ).val().match(mailformat))  
{  
   alert("You have entered an valid email address!");   
}  
else  
{  
   alert("You have entered an invalid email address!");    
}  
});
  </script>
</head>
<body>
<label for="email" id="email-ariaLabel">Your email address:</label>
 <input id="email" name="email" type="email" class="required" title="This is a required field" /> <span class="msg error">Not a valid email address</span>
 <span class="msg success">A valid email address!</span>

或者您可以简单地将email的数据注释用作

[StringLength(100, ErrorMessage = "Email can accept maximum 100 characters.")]
[RegularExpression("^[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:''.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?''.)+(?:[a-zA-Z]{2}|aero|asia|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel)$", ErrorMessage = "Please enter valid email address.")]
public string email { get; set; }

您可以参考下面的代码,它将解决Ur问题。

 <script>
       $( "#email" ).blur(function() {  
         var mailformat = /^(['w-'.]+@(['w-]+'.)+['w-]{2,4})?$/;
         var emailTextField = $( "#email" ).val();
         if(!emailReg.test(emailTextField) || emailTextField.length == 0)  
         { 
           alert("You have entered an invalid email address!");
         }  
         else  
         {  
           alert("You have entered an valid email address!");
         }  
       });
    </script>