Возможный дубликат:
Надежное регулярное выражение для пароля
Нужен RegEx для надежности пароля?
Мне просто было интересно, какой лучший способ поиска строки по определенным критериям (в частности, надежность пароля) может быть выполнен.
Пока у меня простой:
if(password.Length <= 7)
{
errorMessage = "Your password must be at least 8 characters.";
}
Я хотел бы иметь возможность проверять заглавные буквы, но я не уверен, что это за метод или процедура. Я попытался воспользоваться поиском в Google, выполнить поиск на веб-сайте: http://msdn.microsoft.com и выполнить поиск в индексе моего Книга C# (C# Programming 3E, Barbara Doyle), но я не могу ее найти.
Я знаю, что могу попробовать это...:
foreach(char c in password)
{
if(c!='A' || c!='B' || c!='C' || c!='D' ..... || c!='Z')
{
errorMessage = "Your password must contain at least one capital letter";
}
}
...Но это было бы крайне неаккуратно, и его пришлось бы удваивать, чтобы проверить хотя бы одну строчную букву. Я уверен, что есть лучший способ сделать это или, по крайней мере, сокращение для метода, который я показал выше.
Кроме того, я могу решить проверить пароль на наличие специальных символов (кажется, это проще сделать в приведенном выше примере, чем с прописными и строчными буквами, поэтому я могу просто использовать это для специальных символов, если я решу сделать их необходимыми). Если есть простой (или правильный) способ сделать это, я бы тоже хотел получить эти знания.
В любом случае, большое спасибо за любую помощь, которую может оказать любой.
if...then
вы, вероятно, захотите ввести пароль через регулярное выражение. Взгляните на этот ответ SO. Я думаю, что это обеспечивает регулярное выражение, которое поможет вам. - person David Hoerster   schedule 15.10.2012