尝试使用asp:RegularExpressionValidator
验证文本框中以逗号分隔的电子邮件列表,如下所示:
<asp:RegularExpressionValidator ID="RegularExpressionValidator1"
runat="server" ErrorMessage="Wrong email format (separate multiple email by comma [,])" ControlToValidate="txtEscalationEmail"
Display="Dynamic" ValidationExpression="([\w+-.%]+@[\w-.]+\.[A-Za-z]{2,4},?)" ValidationGroup="vgEscalation"></asp:RegularExpressionValidator>
当我在http://regexhero.net/tester/上测试它时,它工作得很好,但它不能在我的页面上工作。
下面是我的示例输入:
test@test.com,test1@test.com
我已经在this post中尝试了一个建议,但是不能让它工作。
附注:我不想讨论适当的电子邮件验证
发布于 2010-12-11 03:57:00
试试这个:
^([\w+-.%]+@[\w-.]+\.[A-Za-z]{2,4},?)+$
在括号后添加+
意味着前面的组可以出现1次或更多次。
添加^
和$
意味着字符串的开头和匹配的开头(或匹配的结尾和字符串的结尾)之间的任何内容都会导致验证失败。
发布于 2012-02-17 23:59:07
此正则表达式将允许电子邮件在逗号后带有空格。
^[\W]*([\w+\-.%]+@[\w\-.]+\.[A-Za-z]{2,4}[\W]*,{1}[\W]*)*([\w+\-.%]+@[\w\-.]+\.[A-Za-z]{2,4})[\W]*$
一位同事想出了一个更准确的RegEx。上面的答案似乎通过了一个电子邮件地址列表,其中第一个元素不是电子邮件地址。下面是更新,它还允许逗号后面有空格。
发布于 2018-03-09 16:43:14
被选为最佳答案的第一个答案与字符串abc@xyz.comxyz@abc.com
匹配,该字符串无效。
下面的正则表达式可以很好地处理逗号分隔的电子邮件ids。
^([\w+-.%]+@[\w.-]+\.[A-Za-z]{2,4})(,[\w+-.%]+@[\w.-]+\.[A-Za-z]{2,4})*$
它将匹配单个emailId,逗号分隔的emailId,但如果缺少逗号,则不匹配。
第一组将匹配单个emailId的字符串。第二组可选地由'*‘标记要求,即0个或更多个这样的组,但是要求',’在这样的emailId的开头,这使得逗号分隔的emailId与上面的正则表达式相匹配。
https://stackoverflow.com/questions/4412725
复制相似问题