我创建了一个正则表达式来验证电子邮件地址这是我的正则表达式:
@"^\w+(\.?[-+\w])*@\w+([-.]\w+)*\.[a-zA-Z]{2,80}$"
我希望邮件地址的最大长度为 80,但使用此正则表达式我只限制邮件在 之后的最后一部分。
现在
aaa@aa.ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff is invalid
但是
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@aa.ffffffff is valid
我该怎么做?
最佳答案
您可以在两步内验证。请尝试一下。
Regex validCharsRegex = new Regex(@"^[\w!#$%&'*+\-/=?\^_`{|}~]+(\.[\w!#$%&'*+\-/=?\^_`{|}~]+)*" +
"@" + @"((([\-\w]+\.)+[a-zA-Z]{2,4})|(([0-9]{1,3}\.){3}[0-9]{1,3}))$");
Match match = validCharsRegex.Match(stringText.Trim());
if (match.Success && stringText.Length <=80 )
{
// You logic here
}
关于c# - 使用 regex + c# 限制邮件地址的最大长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19677404/