2010-03-29 80 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