使用撇号的电子邮件的正则表达式

时间:2013-04-17 15:06:49

标签: regex asp.net-mvc validation

我正在构建一个 MVC 4 Web应用程序,并在验证我的一些ViewModel时使用 Fluent验证

我需要验证电子邮件地址,而我使用的是正则表达式,它是在VisualM中创建默认MVC应用程序时在AccountModels类中的默认值工作室

RuleFor(x => x.ConfirmEmail)
.Matches(@"^[\w-]+(\.[\w-]+)*@([a-z0-9-]+(\.[a-z0-9-]+)*?\.[a-z]{2,6}|(\d{1,3}\.){3}\d{1,3})(:\d{4})?$")
.WithMessage("Please enter a valid email address");

但是,我的客户告诉我,这不接受包含@符号前撇号的电子邮件地址。

我对正则表达式一点都不好,所以有人可以帮我修改这个表达式,以便在@符号之前允许撇号吗?

提前致谢。

更新

我输入了错误的代码示例,请立即查看正则表达式 - 这是不接受撇号的内容。

1 个答案:

答案 0 :(得分:4)

更新后,您要查找的正则表达式为:

^[\w-']+(\.[\w-']+)*@([a-z0-9-]+(\.[a-z0-9-]+)*?\.[a-z]{2,6}|(\d{1,3}\.){3}\d{1,3})(:\d{4})?$

注意,这里唯一改变的是,在'符号之前的两个字符类中的每一个中都添加了@(撇号)字符。