正则表达式验证(正则表达式)在@之前修复了电子邮件地址

时间:2015-10-07 12:30:57

标签: regex

我了解验证emailaddresses的常规(正则表达式)是:

[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,6}

但是有一种方法可以强制用户只填写以下内容之一:

admin@example.com
administrator@example.com
hostmaster@example.com
webmaster@example.com
postmaster@example.com

所以他们强迫管理员,管理员等与他们自己的域一起使用?

我将使用它来验证SSL证书。显然人们只是填写废话,即使它已在网站上清楚地解释过。

谢谢。

1 个答案:

答案 0 :(得分:1)

嗯,你可以用愚蠢的正则表达式来做到这一点:

/^(?:admin|administrator|webmaster)@.../

但是,这组标题是您可能想要修改的内容,可能不应该直接嵌入到低级代码中。两步法会更好。

首先使用适当的正则表达式捕获电子邮件地址的第一部分。例如,你的正则表达式如上所述,但有一个捕获组:

/^([A-Z0-9a-z._%+-]+)@[A-Za-z0-9.-]+\\.[A-Za-z]{2,6}$/

然后检查第一部分是否出现在允许的单词列表中。

注意:我在这里回答你的原始正则表达式是否合适的问题。它并不完全匹配所有允许的电子邮件地址,但在您的上下文中可能并不那么重要。