我找到了这个用于电子邮件验证的正则表达式。
[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})
我希望电子邮件的最大长度为 20 个字符,所以我将其更改为:
([_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})){0,20}
但是当我输入超过20个字符时,它接受了! 我也用过
^([_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})){0,20}$
但它没有正常工作。我想在 java 代码中使用它
最佳答案
您不能只将 {0,20}
添加到整个正则表达式,因为这意味着每个电子邮件地址出现 0 到 20 次。
你可以像这样使用它,使用前瞻来强制长度:
^(?=.{1,20}$)[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$
关于java - 使用正则表达式验证电子邮件的最大长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24115303/