【问题标题】:JavaScript Email address validationJavaScript 电子邮件地址验证
【发布时间】:2018-03-13 03:27:35
【问题描述】:

我正在制作一个使用 JavaScript 进行字段验证的 HTML 表单。我被困在电子邮件验证上。我搜索了互联网,发现了类似的东西-

JS 代码

function validateemail() {  
    var x=document.myform.email.value;  
    var atposition=x.indexOf("@");  
    var dotposition=x.lastIndexOf(".");  
    if (atposition<1 || dotposition<atposition+2 || dotposition+2>=x.length) {  
        alert("Please enter a valid e-mail address \n atpostion:"+atposition+"\n dotposition:"+dotposition);  
        return false;  
    }  
}  

HTML 代码

<body>  

<form name="myform"  method="post" action="#" onsubmit="return validateemail();">  

Email: <input type="text" name="email"><br/>  

<input type="submit" value="register">  
</form>  

请解释一下?

【问题讨论】:

  • 对我来说,你应该正则表达式验证 + 按钮禁用/启用取决于验证的 else
  • 请查看link

标签: javascript email-validation


【解决方案1】:

我也在网上搜了一下,用了这个,效果很好。

// email validation
checkEmail = (inputvalue) => {
    const pattern = /^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
    if (pattern.test(inputvalue)) return true;
    return false;
}

【讨论】:

【解决方案2】:

如果您只想验证电子邮件地址,可以使用 HTML 中内置的验证:

<form onsubmit="return false;">
    <input type="email" required="1">
    <input type="submit">
</form>

(当然,为您自己的表单省略onsubmit。这只是在我的示例中,以防止您离开带有表单的页面。)

【讨论】:

  • 先生,是否存在没有域名和点(。)的电子邮件,我的意思是 example@example
【解决方案3】:

检查一下,我正在使用类似这样的东西,我缩小了其中一些 您必须输入有效的电子邮件地址,例如 Example@example.com

$(document).ready(function() {
  $('.insidedivinput').focusout(function() {
    $('.insidedivinput').filter(function() {
      var emil = $('.insidedivinput').val();
      var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
      if (emil.length == 0) {
        $('.fa-check').css('display', 'none');
        $('.fa-close').css('display', 'inline');
        $('.sendmailbuttontrigger').attr('disabled', 'disabled');
        $('.SendEmail').attr('disabled', 'disabled');
      } else if (!emailReg.test(emil)) {
        $('.SendEmail').attr('disabled', 'disabled');
        $('.sendmailbuttontrigger').attr('disabled', 'disabled');
        $('.fa-check').css('display', 'none');
        $('.fa-close').css('display', 'inline');
      } else {
        // alert('Thank you for your valid email');
        $('.fa-close').css('display', 'none');
        $('.sendmailbuttontrigger').removeAttr('disabled');
        $('.fa-check').css('display', 'inline');
      }
    })
  });
});
.fa-check{
  display:none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='email' class='insidedivinput'><i class='fa-check'>Validated</i><i class="fa-close">UnValidated</i>
<button class="sendmailbuttontrigger" disabled>
  Send
</button>

【讨论】:

    猜你喜欢
    • 2014-06-12
    • 1970-01-01
    • 2011-09-02
    • 2013-02-20
    • 2014-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多