正则表达式电子邮件验证长度



我有以下正则表达式用于 java 中的电子邮件验证

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

我想检查电子邮件是否不应超过 255 个字符,我该怎么做?
谢谢

保持简单。

if (yourString.length() <= 255 && yourString.matches(YOUR_REGEX))

此正则表达式适用于所有可能的电子邮件模式和不同的域。

abc@gmail.com
abc.de@gmail.in
abc.15@gmail.com
abc@def.technology

相应的正则表达式是:

(?:[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])+)])

除了简单的健全性检查(它是否有"@"和看起来像 TLD 的东西)和简单的字符串长度检查之外,我不会为此使用正则表达式。

完全兼容的邮件地址的正则表达式是巨大的。你真的不想去那里。

如果你真的想扩展关于长度的正则表达式,你可以像这样预置一个前瞻表达式:

^(?=.{255}$)

结果:

=> ^(?=.{255}$)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+............

要完成 Zhonk 响应:^(?=.{6,255}$)[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+.[A-Za-z]{2,6}

最新更新