可能重复:
Using a regular expression to validate an email address
Email Validation - Regular Expression
我使用下面的正则表达式来验证电子邮件地址。但是我们发现这个正则表达式接受了“*”或“/”,但它不应该!
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#中
答案 0 :(得分:1)
你需要一个大的修复..
如果您想验证电子邮件地址正则表达式不是正确的选择。
的建议使用SLakstry
{
address = new MailAddress(address).Address;
//address is valid here
}
catch(FormatException)
{
//address is invalid
}
但如果你沉迷于正则表达式,那么就这样做
.*@.*