您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何在JavaScript中验证电子邮件地址

如何在JavaScript中验证电子邮件地址

使用正则表达式可能是最好的方法。您可以在此处看到很多测试(taken from chromium)

function validateEmail(email) {
    var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    return re.test(String(email).toLowerCase());
}

这是接受unicode的常规表达式的示例:

var re = /^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;

但是请记住,不应该只依赖JavaScript验证。可以轻松禁用JavaScript。这也应该在服务器端进行验证。

这是上述操作的一个示例:

function validateEmail(email) {

  var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;

  return re.test(email);

}



function validate() {

  var $result = $("#result");

  var email = $("#email").val();

  $result.text("");



  if (validateEmail(email)) {

    $result.text(email + " is valid :)");

    $result.css("color", "green");

  } else {

    $result.text(email + " is not valid :(");

    $result.css("color", "red");

  }

  return false;

}



$("#validate").on("click", validate);


<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>



<form>

  <p>Enter an email address:</p>

  <input id='email'>

  <button type='submit' id='validate'>Validate!</button>

</form>



<h2 id='result'></h2>
javascript 2022/1/1 18:21:57 有255人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶