Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在字符串上查找电子邮件_Javascript_Regex_Json - Fatal编程技术网

Javascript 在字符串上查找电子邮件

Javascript 在字符串上查找电子邮件,javascript,regex,json,Javascript,Regex,Json,几天前我问了这个问题: 第一个答案非常完美。现在我需要修改正则表达式以查找电子邮件。问题是我对正则表达式一无所知,而且我一直在四处寻找,但似乎无法实现它。 代码如下: var m=null , result=JSON.stringify(response) , re=/"message":"([^"]+)"/g , messages=[]; while( m=re.exec(result) ) { messages.push(m[1]);

几天前我问了这个问题:

第一个答案非常完美。现在我需要修改正则表达式以查找电子邮件。问题是我对正则表达式一无所知,而且我一直在四处寻找,但似乎无法实现它。 代码如下:

var m=null
      , result=JSON.stringify(response)
      , re=/"message":"([^"]+)"/g
      , messages=[];
  while( m=re.exec(result) ) {
      messages.push(m[1]);
关于我的另一个问题,我们已经解释了一切,但基本上这段代码所做的就是获取
message:“this TEXT”
现在我想知道文本是否包含电子邮件


我已经检查了许多javascript regexp示例,发现它相当混乱,所以如果您能给我一点解释(或阅读一些内容)关于为什么要这样做,我非常感谢。

您正在寻找的Regexp既长又难看。RFC标准中的电子邮件地址定义过于复杂和允许。请参阅上的“有效电子邮件地址”部分。但是,您可以使用以下简单的Regexp检查字符串是否像电子邮件:

/^.+@.+\..+$/

您要查找的Regexp很长,很难看。RFC标准中的电子邮件地址定义过于复杂和允许。请参阅上的“有效电子邮件地址”部分。但是,您可以使用以下简单的Regexp检查字符串是否与电子邮件相似:

/^.+@.+\..+$/

您要查找的Regexp很长,很难看。RFC标准中的电子邮件地址定义过于复杂和允许。请参阅上的“有效电子邮件地址”部分。但是,您可以使用以下简单的Regexp检查字符串是否与电子邮件相似:

/^.+@.+\..+$/

您要查找的Regexp很长,很难看。RFC标准中的电子邮件地址定义过于复杂和允许。请参阅上的“有效电子邮件地址”部分。但是,您可以使用以下简单的Regexp检查字符串是否与电子邮件相似:

/^.+@.+\..+$/

可以在

中找到关于这一工作原理的解释。您可以使用一些非常非常长的正则表达式来验证基于RFC标准的电子邮件。这些正则表达式非常简短,易于理解

如果您想验证任何看起来像电子邮件的内容,可以使用以下方法:

^.+@.+\..+$
^[^@]+@[^@]+\.[^@]+$
但是,此正则表达式还允许空格和多个@符号。因此,您可以使用:

^.+@.+\..+$
^[^@]+@[^@]+\.[^@]+$
但这将允许在名称和TLD中使用特殊字符,因此,这里有一个短正则表达式,它将匹配几乎所有英文电子邮件(以及非英文电子邮件):

此正则表达式将匹配字符
a-z
a-z
0-9
-
~
$
*
+
,和
=
符号前面的一次或多次将匹配
@
符号后面的任何字符(新的国际域名现在几乎允许所有字符),并允许
a-z
a-z
作为TLD的2倍或更多倍

有些国际域名中没有英文字符,因此,如果您希望成为国际观众,最好将
[a-zA-Z]{2,36}
替换为
{2,36}

在regex101.com上

在regex101.com上


在regex101.com上。

有一些非常非常长的正则表达式,您可以使用它们来验证基于RFC标准的电子邮件。这些正则表达式非常简短,易于理解

如果您想验证任何看起来像电子邮件的内容,可以使用以下方法:

^.+@.+\..+$
^[^@]+@[^@]+\.[^@]+$
但是,此正则表达式还允许空格和多个@符号。因此,您可以使用:

^.+@.+\..+$
^[^@]+@[^@]+\.[^@]+$
但这将允许在名称和TLD中使用特殊字符,因此,这里有一个短正则表达式,它将匹配几乎所有英文电子邮件(以及非英文电子邮件):

此正则表达式将匹配字符
a-z
a-z
0-9
-
~
$
*
+
,和
=
符号前面的一次或多次将匹配
@
符号后面的任何字符(新的国际域名现在几乎允许所有字符),并允许
a-z
a-z
作为TLD的2倍或更多倍

有些国际域名中没有英文字符,因此,如果您希望成为国际观众,最好将
[a-zA-Z]{2,36}
替换为
{2,36}

在regex101.com上

在regex101.com上


在regex101.com上。

有一些非常非常长的正则表达式,您可以使用它们来验证基于RFC标准的电子邮件。这些正则表达式非常简短,易于理解

如果您想验证任何看起来像电子邮件的内容,可以使用以下方法:

^.+@.+\..+$
^[^@]+@[^@]+\.[^@]+$
但是,此正则表达式还允许空格和多个@符号。因此,您可以使用:

^.+@.+\..+$
^[^@]+@[^@]+\.[^@]+$
但这将允许在名称和TLD中使用特殊字符,因此,这里有一个短正则表达式,它将匹配几乎所有英文电子邮件(以及非英文电子邮件):

此正则表达式将匹配字符
a-z
a-z
0-9
-
~
$
*
+
,和
=
符号前面的一次或多次将匹配
@
符号后面的任何字符(新的国际域名现在几乎允许所有字符),并允许
a-z
a-z
作为TLD的2倍或更多倍

有些国际域名不支持h