Regex用java进行电子邮件验证



我编写了这个正则表达式来验证电子邮件地址。我必须遵守的规则是:

收件人名称最多可包含64个字符,包括:

  • 英语中的大写和小写字母(A-Z,A-Z(
  • 从0到9的数字
  • 特殊字符
  • 特殊字符不能作为电子邮件地址中的第一个或最后一个字符出现,也不能连续出现两次或多次

[a-zA-z0-9]{1}?![a-zA-z0-9]?[a-zA-z0-9]{1,63}@[a-zA-z0-9]+.[a-zA-z0-9]+

我显然是雷格斯的新手。我这行的意思是,第一个字符必须是[a-zA-z0-9]中的一个,然后,可以通过否定[a-zA-z0-9]来使用任何特殊字符,然后在@之前再次使用[a-zA-z0-9]

请帮助我实现上述期望。

Tnx

尝试https://regex101.com/测试正则表达式并阅读解释。

我认为这将满足您的要求:

w(?:W(?=w)|w){0,63}@w+.w+
  1. 匹配单个单词字符([a-zA-Z0-9_](
  2. 最多匹配63次(单个非单词字符立即与单词字符(即正向前瞻(或单个单词字符匹配(
  3. 匹配@符号
  4. 匹配任意数量的单词字符,然后匹配句点,然后再匹配任意数量单词字符

这里唯一的问题是下划线,出于某种原因,它也被认为是一个单词字符。如果与您有关,请用[a-zA-Z0-9]替换每次出现的w,用[W_]替换任何出现的W,或者用您要接受的所有特殊符号的列表。

相关内容

  • 没有找到相关文章

最新更新