【问题标题】:building a multiple email regular expression for a regular expression validator on asp.net c#?为asp.net c#上的正则表达式验证器构建多电子邮件正则表达式?
【发布时间】:2012-10-02 20:58:52
【问题描述】:

我正在尝试在 asp.net 上制作一个表单,您可以在其中发送电子邮件。我想要一个文本框,我可以在其中输入我想发送消息的所有电子邮件地址...

但是我想在那里添加一个验证器,以便用户始终拥有正确的语法,因此,在 c# 上使用该字符串并正确发送消息。

目前,我有一个用于单个电子邮件地址的验证器...

<asp:RegularExpressionValidator ID="RegularExpressionValidator5" runat="server" 
    ControlToValidate="tbxAlClEmail" ErrorMessage="E-mail Invalido" 
        Font-Bold="True" ForeColor="Red" 
        ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" 
        ValidationGroup="vgpNuevoCliente">
</asp:RegularExpressionValidator>

所以,我们可以看到...... 电子邮件 = \w+([-+.']\w+)@\w+([-.]\w+).\w+([-.]\w+)*

(我知道很难找到可以验证所有类型的电子邮件地址的表达式正则......但这必须这样做)

现在我想将此正则表达式添加到 asp.net 验证器:

电子邮件 ((,|;) [空格]* 电子邮件)*

我想要的结果示例:

john@hotmail.com、amy@yahoo.com、diana@hotmail.com; alicia@gmail.com

我希望你能帮助我... 提前致谢

【问题讨论】:

  • 只需发送电子邮件并回显任何错误消息。
  • 您的正则表达式不完全正确。试试这个:^[^&lt;&gt;\s\@]+(\@[^&lt;&gt;\s\@]+(\.[^&lt;&gt;\s\@]+)+)$

标签: c# asp.net regex expression validation


【解决方案1】:

您无法验证电子邮件地址。

使用正则表达式进行电子邮件验证非常困难,并且在验证器网络上确实有数百个示例接近......但仍然不完美。

但这只是问题的一小部分。您绝对最好的选择是放弃尝试验证地址并简单地发送消息,同时告诉用户哪些地址失败。

如果你做对了,那么你就不会在 TO 字段中包含每个地址,而是向每个单独的地址发送不同的消息。这将使报告错误变得相当容易。

当然,即使如此,许多邮件服务器也被配置为即使发送了错误的电子邮件地址也不会响应,而是将邮件黑洞化。再多的验证等也无法通过。

为了好玩,您可能需要完整阅读以下内容,以便了解完整的问题:http://www.regular-expressions.info/email.html

【讨论】:

    猜你喜欢
    • 2010-12-15
    • 2014-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-29
    • 2012-01-01
    • 1970-01-01
    相关资源
    最近更新 更多