正则表达式需要小修复
本文关键字:正则表达式 | 更新日期: 2023-09-27 17:56:19
可能的重复项:
使用正则表达式验证电子邮件地址
电子邮件验证 - 正则表达式
我使用以下正则表达式来验证电子邮件地址。但是我们发现这个正则表达式接受"*"或"/",但它不应该!
Regex.IsMatch(email,
@"^(?("")(""[^""]+?""@)|(([0-9a-z](('.(?!'.))|[-!#'$%&''*'+/='?'^`'{'}'|~'w])*)(?<=[0-9a-z])@))" +
@"(?('[)('[('d{1,3}'.){3}'d{1,3}'])|(([0-9a-z][-'w]*[0-9a-z]*'.)+[a-z0-9]{2,17}))$",
RegexOptions.IgnoreCase,
TimeSpan.FromMilliseconds(250));
请我需要您的帮助来改进 RE 以不允许"*"或"/"仅供参考,上面的代码是 C#
你需要一个大的修复。
如果要验证电子邮件地址,则表达式不是正确的选择。
按照 SLaks 的建议使用邮件地址
try
{
address = new MailAddress(address).Address;
//address is valid here
}
catch(FormatException)
{
//address is invalid
}
但是,如果您沉迷于正则表达式。就这样做
.*@.*