2017-01-25 10 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, вы можете установить ValidationExpression вашей RegularExpressionValidator:

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

Tha nks, который решил мою проблему отлично :) –

+1

Добро пожаловать. Всегда рад помочь :) – krlzlx