2010-03-29 77 views
1

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

<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+)*" /> 
+0

好我rewriten像这样的表达式:\ W + [\wçığöşü] +([ - +'] \ W +)* @ \ W + [\wçığöşü] +([ - ] \ W +) * \。\ w +([ - 。] \ w +)*唯一的问题是电子邮件地址和域名应该以普通字符开头(不是çığöşü)。如果我解决了这个问题,工作将完成 – 2010-03-31 06:28:50

回答

0

好吧,我做到了。但要小心,如果使用此电子邮件验证表达式,则当您尝试使用邮件地址(例如ReplyTo地址)时,邮件地址无法通过验证。

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

\w+([ü,ç,other characters here][-+.']\w+)*@\w+([ü,ç,,other characters here][-.]\w+)*\.\w+([ü,ç,,other characters here][-.]\w+)* 
+0

这不会验证我的男人,对不起 – 2010-03-29 13:59:19

1

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

+0

你能解释如何在表达中使用它吗? – 2010-03-29 14:00:59

+0

像其他反斜杠运算符一样\。 (点字符) [\。\ u00fc \ u00e7] + – Jacee 2010-04-19 14:51:01