验证邮箱,使用正则表达式可能是最好的方法:

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);
}

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

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

但请记住,不应仅依靠 验证。 可以很容易地被禁用。所以最好也在服务器端进行验证。

以下是上述操作的示例:

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() {
  $(\"#result\").text(\"\");
  var email = $(\"#email\").val();
  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\").bind(\"click\", validate);

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

<form>
  <p>Enter an email address:</p>
  <input id=\'email\'>
  <button type=\'submit\' id=\'validate\'>Validate!</button>
</form>

<h2 id=\'result\'></h2>
收藏 打印