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