如何使用regex处理长电子邮件地址
本文关键字:电子邮件地址 处理 regex 何使用 | 更新日期: 2023-09-27 18:21:43
我有以下用于电子邮件验证的正则表达式:
private const string ValidEmailRegexPattern = @"^(?:[^@'s''(),:;<>[']""]+|(?:(?:^|'.)""(?:[^'r''"";]|(?:''[''""]))*"")+)+(?<=^.{1,64})@[^'s~!@#$%^&*()=+_{}'|;,`'""?<>]{1,256}$";
public static bool IsValidEmail(string email)
{
return !string.IsNullOrWhiteSpace(email) && ValidEmailRegex.IsMatch(email);
}
但当输入是有效的电子邮件时,它会被冻结,但最大有效长度(254个符号)如下:
"123...@gmail.com"
-254
符号,包括244
号和@gmail.com
号。
如何更改我的正则表达式?我希望我的程序能够处理这种类型的电子邮件地址。
您可以使用MailAddress类来验证电子邮件,而不是使用regex进行验证。
MailAddress m = new MailAddress(email);
来自MSDN
代替使用正则表达式来验证电子邮件地址,您可以使用System.Net.Mail.MailAddress类。确定无论电子邮件地址是否有效,请将电子邮件地址传递给MailAddress.MailAddress(字符串)类构造函数。