当前位置: 首页 > 面试题库 >

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

澹台展鹏
2023-03-14
问题内容

是否有正则表达式来验证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>


 类似资料:
  • 问题内容: 有谁知道如何在Swift中验证电子邮件地址?我发现此代码: 但我无法将其翻译为Swift。 问题答案: 我会用: 对于低于3.0的Swift版本: 对于低于1.2的Swift版本:

  • 问题内容: 我如何使用php5验证输入值是有效的电子邮件地址。现在我正在使用此代码 但显示已弃用的错误。我该如何解决此问题。请帮我。 问题答案: 您可以使用该功能,该功能为您提供了许多方便的验证和消毒选项。 PHP手册filter_var() 在 PHP > = 5.2.0中*可用 * 如果您不想更改依赖于函数的代码,请执行以下操作: 注意 :对于其他用途(需要Regex的地方),不赞成使用的函数

  • 每当我在Firebase中使用电子邮件/密码身份验证提供程序时,提供程序都会在成功注册时发送一个无记名令牌,即使是。是否有一种开箱即用的方法将电子邮件/密码身份验证提供程序配置为在用户验证其电子邮件地址之前不发送无记名令牌(并返回403错误)? 请注意,我知道如何创建用户、登录用户、发送验证电子邮件等。。。使用firebase v9。x通过firebase/auth中的方法创建用户(使用Email

  • 问题内容: 我已经尝试了许多npm软件包来验证电子邮件地址和域名。这是我尝试过的一些npm软件包 所有这些都会导致域名存在以及仅进行其他一些检查。但是我必须验证域中是否存在特定的电子邮件地址。我应该如何实现呢? 有人可以帮我找出来 吗 ? 谢谢! 问题答案: 今天(可能永远不会),无法以编程方式验证电子邮件地址。 出于安全和隐私原因,服务器不会允许这样做。 并且有充分的理由。通过这种解决方案,垃圾

  • 我想使用Google表单填充Google电子表格。其中一个字段是电子邮件地址,我需要对照我们组织的电子邮件列表来验证这一点--换句话说,强制人们使用有效的和现有的电子邮件地址。 我们的组织使用谷歌应用程序。该表单将由在我们组织中的用户创建,并且只有来自我们组织/域的电子邮件地址才被认为是有效的。

  • 我想使用亚马逊的简单电子邮件服务发送电子邮件。 我验证了我的域名以及我想发送的电子邮件地址。 对于两者,它都表示。 现在,当我使用AWS控制台的发送测试电子邮件向myemail@outlook.com发送测试电子邮件时,我只收到错误消息: 电子邮件地址未验证。以下身份在区域EU-WEST-1中检查失败:myemail@outlook.com(请求ID: 9fb78de1-2673-11e6-bbb