2017-01-25 36 views
1

我正在研究ASP.Net應用程序,並且我需要確保我的密碼字段至少包含一個特殊字符。ASP.Net使用RegularExpressionValidator來確保至少有一個特殊字符

這是我有:

<asp:TextBox ID="Password" runat="server" TextMode="Password" /> 
<asp:RequiredFieldValidator ID="rfvPassword" runat="server" ForeColor="Red" 
    ErrorMessage="Password Required" ValidationGroup="vgErrors" 
    ControlToValidate="Password" Display="Dynamic" Text="*" /> 

然後我需要添加一個<asp:RegularExpressionValidator >到這個領域還有哪些需要採取下列特殊字符(包括空格)

!"#$%&'()*+,-./:;<=>[email protected][\]^_`{|}~ 

我正在努力實現這一點,因爲我不太熟悉<asp:RegularExpressionValidator >控件,因爲它們是特殊字符,所以我遇到了一些問題。

任何幫助將不勝感激。

+1

它看起來像你更好的使用的RegularExpressionValidator:https://msdn.microsoft.com/en-us/library/ff650303.aspx –

回答

1

您可以使用以下正則表達式來匹配包含8到16個字符的密碼,其中包括列表中的一個特殊字符。您可以在需要改變總的字符允許的範圍:

^(?=.*\w)(?=.*[ !"#$%&'()*+,-./:;<=>[email protected][\]\^_`\{\|\}\~]).{8,16}$ 

在你的aspx頁面,添加RegularExpressionValidator

<asp:RegularExpressionValidator ID="revPassword" ControlToValidate="Password" 
    ForeColor="Red" ValidationGroup="vgErrors" runat="server" ErrorMessage="Error Message"/> 

在你的aspx頁面的代碼隱藏,你可以設置的ValidationExpressionRegularExpressionValidator

revPassword.ValidationExpression = 
    "^(?=.*\\w)(?=.*[ !\"#$%&'()*+,-./:;<=>[email protected][\\]\\^_`\\{\\|\\}\\~]).{8,16}$"; 
+0

臨屋恩,這完美地解決了我的問題:) –

+1

不客氣。總是樂於幫助:) – krlzlx

相關問題