我们直接跳到简短的答案,之后再进行长篇大论的解释。
很简单–不。
我可以听到外面的开发者和魔鬼拥护者质疑我们直截了当地否认了重码电子邮件验证,从而引发了进一步的问题,那就是为什么它存在。
好吧,我们不会否认它可以是一个有用的工具,它肯定是一个聪明的小装备,以防止用户将任何旧文本添加到表格或其他可执行介质中。曾经,电子邮件regex在我们如何收集电子邮件数据方面有其作用。
但现在呢?符合当前的技术和标准?
我们说它有它的一天。
如果你想确保你得到的是干净的电子邮件地址,而这些地址不会扰乱你的电子邮件营销、你的跳出率、送达率分数,以及所有你知道你需要保持你的指标高和你的转换率的东西,那么重码就不是办法了。
什么是电子邮件验证regex?
Regex是正则表达式的简称,它是各种编码语言中使用的术语。Regex或正则表达式是指经过编码的文本字符串,旨在与其他字符串中的模式相匹配。
当用户需要将一串字符与特定类型的模式进行匹配,以验证所提供的信息是否正确时,它们可以非常方便。比如电话号码、邮政编码、日期,还有我们关心的大问题–电子邮件地址。
通过简单的模式,可以将一个精确的字符串与一组规则进行匹配。当简单模式变得更复杂时,regex的效率就会降低,而且更容易产生不好的结果。
目前听起来不错–那么,regex邮件验证有什么问题?
尽管regex是个很好的工具,但它并不能涵盖你所需要的检查。看看这些。
[email protected]
[email protected]
[email protected]
[email protected]
比方说,你发现了以上任何一个添加到你的电子邮件列表中,你会直接标记他们(或者你应该!)。你不会相信他们中的任何一个都是由对你的产品和服务感兴趣的真实的人的有效条目。
Regex邮件验证会,但。会让他们全部通过。
为什么这么说呢?因为那些明显的假地址还是按照其规则设定的模式来确认。
现在看起来不是很聪明,是吗?
太严格了
尽管前面的那些例子在我们看来是如此明显的虚假,但有些电子邮件格式包含的特殊字符远比我们习惯看到的多。
最简单的形式,电子邮件地址遵循以下格式。
username@domain
电子邮件地址由三部分组成。
- 本地部分–通常是一个用户名或工作角色。
- @字符
- 域名,包括有效的TLD(顶级域名)。
如果这就是代码需要查找的全部内容,那么一个典型的javascript regex检查就可以防止大量的不良联系人出现在我们的列表中。
通常情况下,我们的电子邮件地址可以包括以下字符。
- 数字:0至90至9
- 小写和大写字母:a至z和A至Z。
- 点字[.]。但不是作为第一个或最后一个字符,或连续使用。
如果有人向你的电子邮件列表申请任何或一系列的特殊字符,我们大多数人都会质疑是否有问题,我们会错了–根据目前的惯例,这些字符都是允许的。
除语法外,Regex不检查任何其他内容。
开发者可能只关心通过表单获得看起来有效的地址,但我们不关心。我们需要知道。
- 域名是否存在?
- 是否有MX记录来证明域名有邮件服务器?
- 该电子邮件地址是否有一个有效的电子邮件帐户?
这些问题中的任何一个问题都会被打上 “不 “字,我们作为营销人员也会狠狠地打上 “不 “字。Regex不会检查这些问题–只有专门的电子邮件验证工具才会发现这些危险信号。
它不会发现临时和一次性的地址。
作为电子邮件营销人员,我们更清楚的另一件事是,很多用户为了利用优惠、促销或其他情况而设置虚假的临时账户。这是一种简单的方法,可以避免给自己现有的电子邮件账户增加杂乱无章的信息,也可以避免泄露任何自己不想泄露的信息。
作为一次性解决方案,设置一个临时或一次性的电子邮件地址很容易。这些地址往往在设置后的10或15分钟内就会消失,使其非常适用。
Regex不会检查这些。临时和一次性的电子邮件地址通过了所有的regex验证测试。
如何设置邮件regex javascript?
如果你是一个熟练的开发者,你可能不需要我们的基本掌握来告诉你如何做,但对于那些有一些编码经验的人来说,它应该是这样的。
函数ValidateEmail(inputText)
{
var mailformat = [a-z0-9!#$%&’*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&’*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?
if(inputText.value.match(mailformat))
{
alert(“This is not a valid email address”)。
返回false。
}
}
承担所有重任的部分是 var mailformat 行。这一行长长的代码中的执行和字符定义了什么是允许的,什么是不允许的。
你可以发现简单的东西。 A , A , ,然后是第一部分的特殊字符,局部。在第一部分,也就是本地部分的特殊字符。 +@ 然后决定本地和域的分隔符。在@之后,我们又得到了另一个关于域名部分允许的指令数组。
如果你想更深入地了解实现一个词组验证器需要什么,那么请到abstract去。他们有一个非常好的指南,准确地说明了需要做什么,并且在涉及到各种API的添加和包含时是专家。
如果一项工作值得做,那就值得好好做,所以要用最好的方式来验证你的清单。
只有一种方法可以确保你的电子邮件列表处于优质状态,那就是使用专门的电子邮件验证工具,如 保镖 .
Regex验证可能会让虚假的电子邮件地址进入您的电子邮件列表,以及阻止有效的电子邮件地址。当涉及到在您的在线表单或数据收集方法中添加验证方法时,我们会建议使用其他更强大的验证形式。
最终,通过像Bouncer这样的平台来运行你的电子邮件列表,是迄今为止保持你的列表清洁和健康、降低你的退信率、提高你的送达率和你的发件人分数处于最佳状态的最佳方式。
电子邮件信息 Regex 常见问题解答
什么是用于电子邮件验证的简单 regex?
用于电子邮件验证的简单 regex(正则表达式)是定义电子邮件地址搜索模式的字符序列。它可用于检查字符串是否符合电子邮件地址的标准格式。不过,需要注意的是,简单的正则表达式可能无法捕捉到所有无效的电子邮件地址,可能会让一些非标准的电子邮件格式通过。
电子邮件 regex 如何帮助过滤无效电子邮件地址?
电子邮件 regex 用于将输入字符串(用户输入的电子邮件地址)与特定格式进行匹配。如果电子邮件地址与此格式不匹配,则视为无效。这有助于防止错别字,确保数据一致性,并防止某些类型的注入攻击。
什么是电子邮件 regex 中的空白字符?
电子邮件 regex 中的空白字符是指用于表示空格(如空格、制表符或换行符)的任何字符。在电子邮件地址中,通常不允许使用空白字符,如果出现空白字符,电子邮件地址就会失效。
什么是复杂的电子邮件 regex?
复杂电子邮件正则表达式是一种更详细、更精确的正则表达式,用于电子邮件验证。它可以考虑电子邮件地址的各个方面,如域名、非拉丁字符,以及某些字符可以出现的特定规则。虽然它能提供更全面的验证,但实施和维护起来也更具挑战性。
电子邮件 regex 如何处理非拉丁字符和 Unicode?
在电子邮件 regex 中处理非拉丁字符和 Unicode 可能比较复杂。有些电子邮件系统允许使用 Unicode 或非拉丁语电子邮件地址,但并非普遍支持。复杂的电子邮件 regex 可以包含匹配非拉丁字符的字符类,但必须了解所使用的电子邮件系统的具体要求和限制。
字符类在电子邮件 regex 中的作用是什么?
电子邮件 regex 中的字符类定义了一组可以匹配输入字符串中任何单个字符的字符。例如,字符类 [a-z] 可匹配任何小写英文字母。字符类可用于为电子邮件地址的不同部分指定有效字符。
用于电子邮件验证的电子邮件 regex 有哪些局限性?
虽然电子邮件 regex 可以捕捉电子邮件地址中的许多常见错误,但它并不是一种完整的验证方法。一些无效的地址可能仍然能通过 regex 检查,而一些有效的地址则可能无法通过,尤其是使用不常用格式或字符的地址。要进行彻底的电子邮件验证,通常建议使用电子邮件验证服务或向输入的地址发送确认电子邮件。