【问题标题】:How to validate a domain exists from the browser?如何从浏览器验证域是否存在?
【发布时间】:2014-05-01 14:52:01
【问题描述】:

我们已经让很多人注册了无效的电子邮件域名,例如:

gmail.cim
hotmale.com

我正在寻找是否有一种方法可以可靠地验证电子邮件地址的域部分是否为有效域以及它是否存在。

我知道这可以从任何后端实现,但我想知道是否有一种方法可以在浏览器内部工作?

我知道有一些方法可以通过正则表达式来验证域是否可行,但它们不适合这个特定的用例。

【问题讨论】:

  • 我很确定 hotmale.com 存在,但我可能不应该在工作时查看...
  • @kmoe 不错的一个 xD .... 但让我们解决这个问题:P
  • 在用户端发生的任何事情,即在浏览器中,很容易被伪造或欺骗,任何真正的检查都必须在您的后端进行。一旦你有一个工作的后端,你就可以通过 Ajax 调用它。
  • 您可以将重复域列入白名单,但最有效的客户端验证是在注册时仔细检查电子邮件地址并发送验证电子邮件

标签: javascript email-validation


【解决方案1】:

您可以使用列表对其进行验证,将可能的域名列表存储在一个数组中。 一旦你得到一个输入(得到@之后的字符),遍历数组。 检查有效的输入。

但最好的方法是提示用户查看订阅邮件

希望对你有帮助!!

【讨论】:

  • 这不适用于拥有我没有明确列入白名单的域的新用户。这是一个令人惊讶的普遍现象,应该避免。
【解决方案2】:

您可以创建有效域列表。此链接http://www.checkdomain.com/list.html 包含列表。

您可以将用户的域与可用的有效域进行比较。

【讨论】:

  • 此列表不包含 .aero、.sexy、.cafe、.blog 或任何非地理 TLD。它还将允许 example.com 通过验证。因此不合适
【解决方案3】:

要验证电子邮件/电子邮件确认字段,请使用 Jquery validate:

$('#myForm').validate({
  rules: {
    email: 'required',
    emailConfirm: {
        equalTo: '#email'
    }
  }
});

【讨论】:

  • 这不会验证域是否存在。再次阅读问题
  • 我确实明白,在下面的评论中,我建议将一些域列入白名单(此解决方案是有限的),但您给出的示例似乎是输入错误,所以我建议让用户验证他的电子邮件两次提交前
  • @radia 这很公平,我们确实希望它与打字错误有关。我一直在寻找以某种方式使用 DNS 系统的解决方案。
  • 对此没有客户端解决方案,您所能做的就是检查电子邮件地址的格式是否正确
猜你喜欢
  • 2017-05-20
  • 2018-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多