【问题标题】:Live email validation in javascriptjavascript中的实时电子邮件验证
【发布时间】:2015-05-28 11:24:14
【问题描述】:

我希望 javascript 在我在文本框中输入内容时实时检查电子邮件。什么都没有发生。

这是我的代码:

HTML

<form action="#" method="post" autocomplete="off">
        <div class="formulier">

            <label for="email">Email:</label>
            <input type="text" id="email" onchange="controle(this.value)"/>

            <div class="signup">
                <input type="button" value="Ok, Sign up!" />
            </div>

        </div>
    </form>

JAVASCRIPT

function controle(mail) {
    if (isEmail(mail.val()) == true)
        {
            alert("good");
        }

}

        function IsEmail(email) {
        var regex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        if(!regex.test(email)) {
           return false;
        }else{
           return true;
        }
      }

【问题讨论】:

  • 您使用的是 JQuery 还是纯 JavaScript?
  • 我正在使用 JQuery,但希望在 HTML 中使用“onchange”来保留逻辑
  • 请检查我刚刚编辑过的答案

标签: javascript jquery html


【解决方案1】:

已编辑

这个 JS 现在应该可以工作了

function controle(mail) {
  if (IsEmail(mail) == true) {
    alert("good");
  }  
}

function IsEmail(email) {
  var regex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  if (!regex.test(email)) {
    return false;
  } else {
    return true;
  }
}

您需要确保这是在外部定义的

$(document).ready(function(){});

请查看此问题的答案以获取更多信息 onChange function is not defined

【讨论】:

    【解决方案2】:

    你可以像这样使用事件监听函数:

    $("selector").on("keyup",function(){
      //your logic
    })
    

    【讨论】:

      猜你喜欢
      • 2018-08-26
      • 2023-04-06
      • 2011-10-20
      • 2011-02-16
      • 1970-01-01
      • 2010-10-11
      • 2012-09-15
      • 2013-11-07
      • 1970-01-01
      相关资源
      最近更新 更多