可能重复:
Using a regular expression to validate an email address
Email Validation - Regular Expression
我正在使用以下代码来验证C#中的电子邮件地址,但不确定为什么它始终失败:
var regEx = @"^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})";
if (Regex.IsMatch(regEx, "abcde@gmail.com", RegexOptions.IgnoreCase))
return true;
else
return false;
请有人指出我在这里缺少的东西吗?
答案 0 :(得分:2)
试试这个:
[Test]
public void EmailTest()
{
var pattern = @"^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})";
Regex regex = new Regex(pattern, RegexOptions.IgnoreCase);
var address = "abcde@gmail.com";
Assert.IsTrue(Regex.IsMatch(address, pattern,RegexOptions.IgnoreCase));
Assert.IsTrue(regex.IsMatch(address));
}
你的字符串和模式顺序错误。
同时检查此thread
答案 1 :(得分:1)
你的IsMatch
parameters错误的方式;第一个是输入,第二个是模式。