【问题标题】:Add special characters to Asp.net RegularExpressionValidator for E-Mail将特殊字符添加到 Asp.net RegularExpressionValidator for E-Mail
【发布时间】:2011-02-02 01:00:12
【问题描述】:

我有一个电子邮件地址验证器,但我需要添加特殊字符作为有效字符,例如 ü、ç... 因为土耳其(或其他任何地方)的用户可以拥有一个网站 URL,例如:hasangürsoy.com 我的代码如下:

<asp:TextBox ID="tEMail" runat="server" />
<asp:RequiredFieldValidator ID="rfvEMail" runat="server"
    ControlToValidate="tEMail" ErrorMessage="* required" />
<asp:RegularExpressionValidator ID="revEMail" runat="server"
    ControlToValidate="tEMail" ErrorMessage="* invalid"
    ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" />

【问题讨论】:

  • 好的,我已经将表达式改写为:\w+[\wçığöşü]+([-+.']\w+)*@\w+[\wçığöşü]+([-.]\ w+)*\.\w+([-.]\w+)* 唯一的问题是电子邮件地址和域应该以普通字符(不是çığöşü)开头。如果我解决了这个问题,工作就会完成

标签: asp.net email validation


【解决方案1】:

好的,我做到了。但请注意,如果您使用此电子邮件验证表达式,则邮件地址在您尝试使用它时无法通过验证,例如回复地址。

<asp:RegularExpressionValidator ID="revEMail" runat="server"
    ControlToValidate="tEMail" ErrorMessage="* invalid" Display="Dynamic"
    ValidationExpression="\w*[\wçığöşü]+([-+.']\w+)*@\w*[\wçığöşü]+([-.]\w+)
    *\.\w+([-.]\w+)*" />

【讨论】:

    【解决方案2】:

    您可以使用特殊格式“\u00fc”来指定字符的十六进制值。看这里的表http://www.ascii.cl/htmlcodes.htm

    【讨论】:

    • 您能解释一下如何在表达式中使用它吗?
    • 像任何其他反斜杠运算符一样,如 \。 (点字符)[\.\u00fc\u00e7]+
    【解决方案3】:
    
    \w+([ü,ç,other characters here][-+.']\w+)*@\w+([ü,ç,,other characters here][-.]\w+)*\.\w+([ü,ç,,other characters here][-.]\w+)*
    

    【讨论】:

      猜你喜欢
      • 2017-06-10
      • 2012-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多