使用正则表达式验证电子邮件地址失败

Failed to validate email address with regular expression

本文关键字:电子邮件地址 失败 验证 正则表达式      更新时间:2023-09-26

我想运行我的页面来测试我的验证是否有效。但是,它不适用于电子邮件地址。我添加了email地址的正则表达式。它没有完全验证。

我输入a@live,没有输入.com,它可以接受它。我想这是因为我类型input="email"纠正我错了。是由于错误的正则表达式还是我放置代码的方式?

javascript

function validate(){
     var fname =  document.getElementById('fname').value;
         var lname =  document.getElementById('lname').value;
    var email =  document.getElementById('email').value;
         var emailReg = '/^(['w-'.]+@(['w-]+'.)+['w-]{2,4})?$/';
    var re = /^['w ]+$/;
         var emailReg = /^(['w-'.]+@(['w-]+'.)+['w-]{2,4})?$/;
     if(email=="")
     {
        alert('Please fill in email fields');   
        return false;
     } 
 else if(fname=="")
     {
        alert('Please fill in first name fields');  
        return false;
     } 
     else if(lname=="")
     {
        alert('Please fill in last name fields');   
        return false;
     } 
     return true;
}

register.php

    <form name="registrationForm" method="post" id="registrationForm" class="registrationForm" action="processRegister.php" onclick="validate">
        <div class='input1'>
            <span id="emailAddress-label" class="help"></span> 
              <input class="regemailaddr" id="emailAddress" name="emailAddress" type="email" placeholder="Email Address " value="" required>
        </div>
          <br> 
            <span id="fname-label" style="margin-bottom:" class="help"></span>
                <input id="fname" name="fname" type="text" placeholder="First Name " class="fname" value="" required>
            <span id="lname-label" class="help"></span> <input id="lname" name="lname" type="text" placeholder="Last Name " class="lname" value="<?php echo $user_profile["lname"]; ?>" required> 
          <br>
               <button class="greybtn" type="submit" id="submitButton">Submit</button>
                <button class="cancelbtn" type="button" id="cancelButton" onclick="window.location='#';return false;">Cancel</button>
</form>

您已经定义了一个正则表达式

var emailReg = /^(['w-'.]+@(['w-]+'.)+['w-]{2,4})?$/;

但是你不测试它

var isEmail = emailReg.test(email);