如何检查输入的值是否为电子邮件类型?

时间:2017-08-04 06:59:18

标签: javascript jquery html

我有这个样本:

link

代码HTML:

<input type="text" name="email" class="email" placeholder="Your email address">

CODE JS:

$(document).ready(function ($) {
      function validateEmail(email) {
                var re = /\S+@\S+\.\S+/;
                  return re.test(email);
      }

      var email = $(".email").val();
      if (validateEmail(email)) {
        alert("correct format");
      }else{
        alert("icorrect format");
      }
});

上面的代码验证无法正常运行。

你能告诉我,问题是什么?输入中输入的任何数据都无法正确检查

提前致谢!

4 个答案:

答案 0 :(得分:0)

如果您想要简单和内置的检查。我建议type="email"。但是,请注意,并不是所有地方都没有完全支持。 More info here

答案 1 :(得分:0)

为什么不使用 <input type="email" name="email">?它也可以验证。

答案 2 :(得分:0)

$(document).ready(function($) {
  function validateEmail(email) {
    var re = /^(([a-zA-Z0-9]+)|([a-zA-Z0-9]+((?:\_[a-zA-Z0-9]+)|(?:\.[a-zA-Z0-9]+))*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-zA-Z]{2,6}(?:\.[a-zA-Z]{2})?)$)/;
    return re.test(email);
  }

  var email = $(".email").val();
  if (validateEmail(email)) {
    console.log("correct format");
  } else {
    console.log("icorrect format");
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

<input type="text" name="email" class="email" value="abc.def@gmail.com" placeholder="Your email address">

检查上面的代码段。

答案 3 :(得分:0)

$(function(){

$('#txtEmail').on('input', function () {
    console.log(validateEmail($(this).val()));
})
})

function validateEmail(email) {
    var expr = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
    return expr.test(email);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="txtEmail" type="text" name="email" class="email" placeholder="Your email address">

尝试这个....输入电子邮件,它返回true,否则返回false。