电子邮件正则表达式以允许特殊字符

Email Regex to allow special characters

如何更新以下正则表达式以允许电子邮件句柄中除“@”之外的所有特殊字符。

"[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.+[a-z._-]+"

您可以使用:

^[^@]+@[a-zA-Z0-9._-]+\.+[a-z._-]+$

[^@]+ 将再匹配 1 个 @

在“[]”中添加特殊字符。

例如添加对冒号的支持

改变 "[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.+[a-z._-]+""[a-zA-Z0-9._-:]+@[a-zA-Z0-9._-]+\.+[a-z._-]+"

有关详细信息,请检查 valid email addresses on wikipedia. Also going through the RFC 5321, 5322 是个好主意。

我觉得这是一个明智的方法..

 # http://www.w3.org/TR/html5/forms.html#valid-e-mail-address
 # ^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$


 ^ 
 [a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+ 
 @
 [a-zA-Z0-9] 
 (?:
      [a-zA-Z0-9-]{0,61} 
      [a-zA-Z0-9] 
 )?
 (?:
      \. 
      [a-zA-Z0-9] 
      (?:
           [a-zA-Z0-9-]{0,61} 
           [a-zA-Z0-9] 
      )?
 )*
 $