电子邮件正则表达式验证器,不允许“。”

Posted

技术标签:

【中文标题】电子邮件正则表达式验证器,不允许“。”【英文标题】:Email Regex Validator, not allowing "." 【发布时间】:2011-09-04 18:31:50 【问题描述】:

嘿,我有以下正则表达式验证器

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="email"
                ErrorMessage="Email requires a vaild email address" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">*</asp:RegularExpressionValidator>

但它不允许关注邮件 e.clear@company.ie ,我相信问题出在 . @ 符号之前,但不确定如何更新正则表达式以反映这一点

【问题讨论】:

据我所知,电子邮件地址的唯一有效正则表达式是this one。 利用 asp.net 正则表达式集合中已有的电子邮件正则表达式表达式 但是知道如何更新我的 \w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-. ]\w+)* 允许点“。”在“@”符号之前 如果您尝试使用正则表达式匹配电子邮件地址,例如在单元测试中,您将看到它匹配。从 XML 中读取正则表达式时,可能存在一些转义问题。 【参考方案1】:

使用这个:

\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

这是 RegularExpressionValidator 提供的默认正则表达式。你的表达式在第 8 个字符后有一个 '。好像无效。

【讨论】:

【参考方案2】:

我认为它适用于 e.clear@company.ie。但是你没有得到验证组。

【讨论】:

以上是关于电子邮件正则表达式验证器,不允许“。”的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式验证模式只允许一个字符[重复]

JAVA中写邮箱格式的正则表达式,怎么写?

正则表达式,电子邮件验证从文本框中获取用户输入

正则表达式根据 RFC2822 验证消息 ID

欧芹验证中带有自定义域的电子邮件的正则表达式是啥

使用正则表达式验证电子邮件