繁体   English   中英

电子邮件验证器

[英]Email validator

我的电子邮件验证码有问题。 我不断收到未定义我的函数的错误。 我已经为Java代码制作了一个javascript文件,然后使用html中的onchange来触发该功能。

    <input type="text" id="email" name="email" onchange="check();" />

    function check() {
email = document.getElementById("email").value;
filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
if (filter.test(email.value)) 
    {
    document.getElementById("email").style.border = "3px solid green";  
    return true;
    }
else
    {
    document.getElementById("email").style.border = "3px solid red";
    return false;
    }
}

将您的javascript放在<script>标记中。

也请重命名您的变量名email因为您的文本框已在使用它。

<input type="text" id="email" name="email" onchange="check();" />
<script type="text/javascript">
    function check() {
        var email_x = document.getElementById("email").value;
        filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        if (filter.test(email.value)) {
            document.getElementById("email").style.border = "3px solid green";
            return true;
        } else {
            document.getElementById("email").style.border = "3px solid red";
            return false;
        }
    }
</script>

电子邮件验证并不总是像正则表达式一样简单。 您是否看过:

验证JavaScript中的电子邮件地址?

更好的选择是使用Verimail.js 这是一个简单的脚本,可以帮您解决。 使用Verimail.js,您可以执行以下操作:

var email = "cool@fabeook.cmo";
var verimail = new Comfirm.AlphaMail.Verimail();

verimail.verify(email, function(status, message, suggestion){
    if(status < 0){
        // Incorrect syntax!
    }else{
        // Syntax looks great!
    }
});

上面的示例将在“语法错误! 由于无效的TLD'cmo'。 除此之外,它还会建议您可以返回给用户,在这种情况下,建议变量将包含“ cool@facebook.com”,因为“ fabeook.cmo”看起来很像“ facebook.com”。

希望这可以帮助!

这是html输入字段和按钮字段的代码

   <input input type="text" name="txtEmailId" id="txtEmailId" /> 
   <input type="submit" class="button" value="Suscribe" name="Suscribe" 
            onclick="javascript:ShowAlert()" />

现在,将以下函数添加到页面的标题中

 <script type="text/javascript">
 function ShowAlert() {
  var email = document.getElementById('txtEmailId');
  var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if (!filter.test(email.value)) {
        alert('Please provide a valid email address');
        email.focus;
        return false;
    }
    else {
        alert("Thanks for your intrest in us, Now you 
        will be able to receive monthly updates from us.");
        document.getElementById('txtEmailId').value = "";
    }
 }
 </script> 

您可以在这里找到有关此JavaScript电子邮件验证的文章

如果您特定于域,则可以使用此代码进行电子邮件验证,以防止匿名电子邮件域。

(^([a-zA-Z]{1,20}[-_.]{0,1}[a-zA-Z0-9]{1,20})(\@gmail\.com|\@yahoo\.com|\@hotmail\.com)$)

您也可以添加其他域。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM