用于验证最多 5 个以逗号分隔的电子邮件地址的正则表达式

Regex expression to validate maximum 5 email address separated by comma

我有一个输入文本字段,最多可以输入 5 个以逗号分隔的电子邮件地址,但我应该在那里验证每个电子邮件地址,并验证该文本中的逗号是否少于 4 个。我们如何编写单个正则表达式。 我已经这样做了:

[RegularExpression("^(\[\w+-.%\]+@\[\w.-\]+\.\[A-Za-z\]{2,4})(,\[\w+-.%\]+@\[\w.-\]+\.\[A-Za-z\]{2,4})\*$", 
ErrorMessage = "Please enter a valid email seprated by comma")\]

public string BCCEmailList { get; set; }

这将验证电子邮件地址,但允许用户输入任意数量的电子邮件,以逗号分隔。

解决这个问题的答案

我在尝试组合两个正则表达式时找到了答案。

[RegularExpression("^([\w+-.%]+@[\w.-]+\.[A-Za-z]{2,4})(,[\w+-.%]+@[\w.-]+\.[A-Za-z]{2,4}){0,4}$", 
ErrorMessage = "Please enter maximum 5 valid email seprated by comma")]

    public string BCCEmailList { get; set; }

首先你需要决定你想使用的电子邮件模式,在它周围添加括号,然后添加重复限制,所以它看起来像:

var myReg = @"^(\w+[\w.-_]*@[\w-]+\.\w{2,4}[,;]*){1,5}$";