您可以使用RFC 2822来验证电子邮件地址格式:
(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[x01-x08x0bx0cx0e-x1fx21x23-x5bx5d-x7f]|\[x01-x09x0bx0cx0e-x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[x01-x08x0bx0cx0e-x1fx21-x5ax53-x7f]|\[x01-x09x0bx0cx0e-x7f])+)])这是来自regular-expressions.info的解释:
此正则表达式包含两部分:@之前的部分和@之后的部分。@之前的部分有两种选择:它可以由一系列字母,数字和某些符号(包括一个或多个点)组成。但是,点可能不会连续出现或出现在电子邮件地址的开头或结尾。另一种选择是将@之前的部分用双引号引起来,从而允许在引号之间使用任何ASCII字符串。空格字符,双引号和反斜杠必须使用反斜杠转义。
您可以在此处查看:表格示例。



