不允许电子邮件以 .mil 结尾的电子邮件正则表达式验证

Posted

技术标签:

【中文标题】不允许电子邮件以 .mil 结尾的电子邮件正则表达式验证【英文标题】:Email regex validation that does not allow email's to end in .mil 【发布时间】:2021-12-18 06:25:09 【问题描述】:

我正在尝试查找/编写一个在输入表单时不允许电子邮件地址以 .mil 结尾的正则表达式。

这是我必须只允许以 .mil 结尾的电子邮件,但在这种情况下,我希望相反。我对 RegEx 的理解充其量是业余的:

^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.mil)$

谢谢!如果您愿意,分解不同部分或进行更改将非常有帮助,因此我理解更好地继续前进。

【问题讨论】:

【参考方案1】:

在最后使用否定的lookbehind。

^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(?<!\.mil)$

【讨论】:

出于某种原因,当我将此正则表达式放入 VSCode 时出现错误,它不会解析电子邮件验证。它似乎“不喜欢”消极的后视。 你使用什么语言? javascript。但是我认为我已经确定它应该可以工作,但我们的内部软件不允许它这样做。

以上是关于不允许电子邮件以 .mil 结尾的电子邮件正则表达式验证的主要内容,如果未能解决你的问题,请参考以下文章

电子邮件正则表达式验证器,不允许“。”

电子邮件的正则表达式用户名应以 [a-zA-Z0-9] 开头或结尾,但可能包含破折号、下划线

使用正则表达式python查找电子邮件[重复]

JAVA中写邮箱格式的正则表达式,怎么写?

修改正则表达式以检查 sting 是不是在 jquery validate 中不包含电子邮件地址

嘀~正则表达式快速上手指南(下篇)