验证有效的电子邮件和破折号

时间:2017-12-22 12:14:42

标签: c# html regex

以下是验证有效的电子邮件。但我想补充说,如果用户输入 - 仅。这将有效。如何改进下面的代码,以便我可以验证有效的电子邮件或仅输入短划线( - )。

RegularExpressionValidator
ID="RegularExpressionValidatorControlCompanyEmail" runat="server"
Display="Dynamic" ControlToValidate="TextBoxCompEmail"
ValidationExpression='[^\s()\[\]<>\\,:;@"]*@\w+([-.]\w+)*\.\w+([\-.]\w+)*([,;]\s*[^\s()\[\]<>\\,:;@"]*@\w+([-.]\w+)*\.\w+([-.]\w+)*)*'
ErrorMessage="<%$
Resources:LanguagePack.ProfileManagement,InvalidEmail %>"
ValidationGroup="Delete" Enabled="true"

2 个答案:

答案 0 :(得分:-2)

您可以使用System.Net.Mail.MailAddress

写下这样的东西

var mail = new System.Net.Mail.MailAddress("test@test.de");

如果电子邮件的语法无效,则会抛出异常。

答案 1 :(得分:-3)

我得到了答案。正则表达式可以具有OR和If-Else条件。所以我使用Or条件来验证 - 或者有效的电子邮件。

ValidationExpression =” (^ - $)|([^ \ S()[]&LT;&GT; \,:; @“]。 @ \ W +([ - ] \ W +) \ W +([ - ] \ W +)的([,] \ S [^ \ S()[]&LT;&GT; \,:; @“]的 @ \ W +([ - ] \瓦特+) \ W +([ - ] \ W +)的)'

我找到了一个很棒的网站来测试Regex

https://regex101.com