javascript - 以否定的方式正则表达式电子邮件模式

标签 javascript java regex regex-negation

我正在研究一些正则表达式模式

我有一个变量,

var url = "last_name=Ahuja&something@test.com";

该 url 包含 emailId。我有一个正则表达式模式来检查变量是否包含 emailId。

var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

我的要求是: 我想要上述模式的精确否定(相反)。例如,如果 url 包含电子邮件模式,我的条件应该为 false。 我的意思是正则表达式模式应该是这样的。

有人可以帮我解决这个问题吗?

最佳答案

使用负向前瞻,您可以检查字符串开头是否没有电子邮件,这模仿了您想要的行为,因为您的正则表达式具有开始和结束 anchor 。

^(?!([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+).*$

但是,如果您想确保该行中的任何位置都没有有效的电子邮件,您可以稍微修改一下。

^((?!([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+).)*$

查看解释here

但是您应该像 Jonathan 建议的那样在代码中执行此操作。

关于javascript - 以否定的方式正则表达式电子邮件模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48155203/

相关文章:

javascript - JQuery 与 YUI 比较?也许原型(prototype)?

java - 组合 if 语句

java - 删除特定括号之间的所有内容

javascript - 如何防止段落中的行被删除(Javascript替换正则表达式)

javascript代码片段解释

javascript - typescript map.get返回未定义

java - 错误填充异常 : Data must start with zero

java - jsp web 应用程序相对路径

javascript - 如何用新值替换每个匹配组?

php - 元编程到几种输出语言