我买不到车,因为我的电子邮件地址“无效”。

2020-07-28 00:05:50

我们精力充沛的小本田飞度现在已经13岁了,虽然它对我们很有帮助,但我们已经开始长大了。

我开始研究小型货车,有一家专门在网上销售的汽车销售商似乎有一个吸引人的库存。

因此,我决定与他们一起创建一个帐户,并设置一些过滤器和警报。

我在他们的注册页面上输入了我的电子邮件地址。输入字段立即变成红色,页面通知我我的电子邮件地址无效。

当你使用子地址时,你需要在你的用户名和@sign:[email protected]之间多加一点。

当站点向您发送电子邮件时,为了将邮件路由给您,该子地址将被忽略,但它会显示在电子邮件地址的";收件人";字段中。这可能非常有用。它允许您设置过滤器,以始终允许或始终拒绝包含特定子地址的邮件,有时还可用于确定站点是否有数据泄露或将您的联系信息出售给垃圾邮件发送者。

尽管子寻址得到了包括谷歌(Google)Gmail在内的电子邮件服务提供商的广泛支持,但它继续让使用正则表达式(也称为缩写regex)执行电子邮件地址验证的网站陷入困境。

Regex允许网站开发人员指定有效的电子邮件地址。它可以确定电子邮件地址是否包含无效字符,或者是否缺少@符号。

问题是,有效的电子邮件地址有多种形式,许多用于验证电子邮件地址的正则表达式无法识别所有有效格式。

在汽车销售商的表单验证的情况下,我能够检查他们的Javascript代码。电子邮件验证正则表达式中处理用户名的部分(@符号之前的部分)如下所示:

这个正则表达式片段的关键之处在于,唯一被认为有效的字符是字母数字字符、连字符、下划线和句点。

如果有加号,就像使用子地址时一样,它会将电子邮件地址视为无效,即使它是完全有效的-而且已经有效多年了。

虽然令人沮丧的是,许多网站继续拒绝使用子地址的电子邮件地址,但我有一个B计划。

取而代之的是,我使用了一个没有子地址的次要电子邮件地址,它与newlywe.Science相关,我用这个域名来宣传我的新婚实验一书。

我在注册表中输入了那个电子邮件地址,但再次被告知它是无效的。

我再次查看了电子邮件验证正则表达式,发现了一个更愚蠢的问题。

以下是他们的电子邮件验证正则表达式中处理该域的部分(@符号之后的部分):

这段代码的相关部分在最后。它规定顶级域名(TLD)的长度必须在2到4个字母之间。

最知名的TLD,如.com、.org、.net、.edu和.gov,通常都有三个字母。特定于国家/地区的TLD(如.uk或.de)通常有两个字母。

但从世纪之交开始,越来越多的新TLD投入使用。例如,.Museum在2001年6月开始活跃,.Travel在2006年1月开始接受注册。

因此,长度超过四个字母的TLD已经存在很长一段时间了。

然而,由于此正则表达式,任何拥有与此TLD相关联的电子邮件地址的人都被锁定,不能在该汽车销售商处创建帐户。

令人沮丧的是,各大网站继续依赖于这种劣质的电子邮件地址验证,这一次我决定把我的失望之情公之于众。

我在网站上四处搜索联系人的电子邮件地址,但我能找到的最好的就是实时聊天功能。

所以,在下午2点。在东部,我打开了一个实时聊天会话,并鼓励他们修复他们可怕的正则表达式。

一位机器人应答者告诉我,不幸的是,我的消息无法处理,因为实时聊天仅在上午8点之间可用。晚上8:45。东边。