0

我有以下代码:

public class Register
{
[RegularExpression(@"^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$", ErrorMessage = "eMail is not in proper format")]
[Required(ErrorMessageResourceName="Name Required"), ErrorMessageResourceType = typeof(ErrorMessages))]
public string Email{ get; set; }
}

我尝试过的电子邮件:asd@asd.com 有效,但验证失败。

所需的工作正常,但正则表达式失败。即使我输入了有效的电子邮件地址,它仍然会说电子邮件格式不正确。

我在这里错过了什么?提前致谢!

编辑

这个正则表达式验证器正在使用 Resources.resx 处理我的其他 mvc 应用程序。所以我认为这里的问题是我如何在我的模型类中声明它。

4

2 回答 2

0
        Regex regx = new Regex(@"^(?!\.)(""([^""\r\\]|\\[""\r\\])*""|"
        + @"([-a-z0-9!#$%&'*+/=?^_`{|}~]|(?<!\.)\.)*)(?<!\.)"
        + @"@[a-z0-9][\w\.-]*[a-z0-9]\.[a-z][a-z\.]*[a-z]$");

/* 公开声明并验证您的邮件文本框 */

于 2013-07-25T07:17:54.860 回答
0

这解决了。我不小心在我的代码上放了错误的正则表达式:

"^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$

代替:

 @"^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$

现在我将专注于制作最好的电子邮件正则表达式。谢谢!

于 2013-07-25T07:23:39.067 回答